PageSourceSearch

https://kiku.listen.org/2471.60e5aa7d4ee6fe46.bundle.js

js listen.org collected 2026-10-02 06:40:29 UTC 34,133 bytes, 1 lines download raw bytes

1"use strict";(self["webpackChunkclient"]=self["webpackChunkclient"]||[]).push([[2471],{2471:function(e,t,s){s.r(t),s.d(t,{default:function(){return f}});s(44114);var i=s(20641),a=s(90033);const r={class:"o-mediumwidth"},n={class:"ulf-page-header"},l={class:"ulf-page-header-left"},o={class:"ulf-page-title"},u={class:"ulf-page-header-actions"},c=["disabled"];function d(e,t,s,d,p,h){const v=(0,i.g2)("b-loading"),m=(0,i.g2)("font-awesome-icon"),f=(0,i.g2)("user-list-form");return(0,i.uX)(),(0,i.CE)("section",r,[(0,i.bF)(v,{modelValue:p.isLoading,"onUpdate:modelValue":t[0]||(t[0]=e=>p.isLoading=e),"is-full-page":!0},null,8,["modelValue"]),(0,i.Lk)("div",n,[(0,i.Lk)("div",l,[(0,i.Lk)("button",{class:"ulf-back-btn",onClick:t[1]||(t[1]=t=>e.$router.push({name:"UserListIndex"}))},[(0,i.bF)(m,{icon:["fal","arrow-left"]})]),(0,i.Lk)("h1",o,(0,a.v_)(e.$t("Create new list")),1)]),(0,i.Lk)("div",u,[(0,i.Lk)("button",{class:"button is-light is-rounded",onClick:t[2]||(t[2]=t=>e.$router.push({name:"UserListIndex"}))},(0,a.v_)(e.$t("cancel")),1),(0,i.Lk)("button",{class:"button is-primary is-rounded",disabled:p.isLoading,onClick:t[3]||(t[3]=t=>e.$refs.createForm.submitForm())},(0,a.v_)(e.$t("Save")),9,c)])]),(0,i.bF)(f,{ref:"createForm",onSuccess:h.handleSuccess,onError:h.handleError},null,8,["onSuccess","onError"])])}var p=s(12990),h={name:"UserListCreate",components:{UserListForm:p.A},data(){return{isLoading:!1}},methods:{handleSuccess(e){},handleError(e){console.error(e)}}},v=s(66262);const m=(0,v.A)(h,[["render",d],["__scopeId","data-v-4c0cd79d"]]);var f=m},12990:function(e,t,s){s.d(t,{A:function(){return Oe}});var i=s(20641),a=s(53751),r=s(90033);const n={class:"ulf-section ulf-ai-panel"},l={class:"ulf-section-title"},o={class:"ulf-ai-tag"},u={class:"ulf-hint mb-2"},c=["placeholder","disabled"],d={class:"ulf-ai-input-actions"},p={key:0,class:"ulf-ai-char-count"},h=["disabled"],v={key:0,class:"icon"},m={class:"ulf-section"},f={class:"ulf-field"},y={class:"ulf-label"},g=["placeholder"],b={key:0,class:"ulf-hint is-error"},k={class:"ulf-section"},$={class:"ulf-section-title"},C={class:"ulf-option-row"},L={class:"ulf-option-label"},S={class:"ulf-option-label"},_={class:"ulf-hint mt-2"},x={class:"ulf-section"},T={class:"ulf-section-title"},E={class:"ulf-field"},P={class:"ulf-label"},U={class:"ulf-option-row"},F={class:"ulf-option-label"},V={class:"ulf-option-label"},A={class:"ulf-option-label"},w={key:0,class:"ulf-field mt-4"},D={class:"ulf-label"},N={class:"ulf-option-row"},I={class:"ulf-option-label"},X={class:"ulf-option-label"},q={class:"ulf-option-label"},Q={key:1,class:"ulf-hint mt-3"},R={key:0,class:"ulf-section"},M={class:"ulf-section-title"},B={key:0,class:"ulf-criteria-logic"},O={class:"ulf-criteria-row"},W={class:"ulf-field"},J={class:"ulf-label"},H={class:"ulf-select-wrap"},K=["onUpdate:modelValue","onChange"],j={value:"",disabled:""},G=["value"],Y={key:0,class:"ulf-field",style:{"max-width":"150px"}},z={class:"ulf-label"},Z={class:"ulf-select-wrap"},ee=["onUpdate:modelValue"],te={value:"",disabled:""},se=["value"],ie={key:1,class:"ulf-field"},ae={class:"ulf-label"},re=["onUpdate:modelValue"],ne=["onUpdate:modelValue"],le={key:2,class:"ulf-select-wrap"},oe=["onUpdate:modelValue"],ue={value:"",disabled:""},ce={value:!0},de={value:!1},pe={key:3,class:"ulf-select-wrap"},he=["onUpdate:modelValue"],ve={value:"",disabled:""},me=["value"],fe={key:6,class:"ulf-tag-field"},ye={class:"has-text-grey has-text-centered py-2"},ge=["onUpdate:modelValue","placeholder"],be={key:2,class:"ulf-field"},ke={class:"ulf-label"},$e={class:"ulf-select-wrap"},Ce=["onUpdate:modelValue"],Le={value:null},Se=["value"],_e={key:3,class:"ulf-field"},xe={class:"ulf-label"},Te={class:"ulf-event-search-wrap"},Ee={key:0,class:"ulf-input ulf-event-selected"},Pe={class:"ulf-event-name"},Ue=["onClick"],Fe=["placeholder"],Ve={key:0,class:"ulf-event-dropdown"},Ae=["onClick"],we={key:1,class:"ulf-event-dropdown"},De={class:"ulf-event-option is-empty"},Ne=["title","onClick"];function Ie(e,t,s,Ie,Xe,qe){const Qe=(0,i.g2)("b-loading"),Re=(0,i.g2)("font-awesome-icon"),Me=(0,i.g2)("LocalCenterSelect"),Be=(0,i.g2)("b-taginput"),Oe=(0,i.g2)("b-field");return(0,i.uX)(),(0,i.CE)("section",null,[(0,i.bF)(Qe,{modelValue:Xe.isSubmitting,"onUpdate:modelValue":t[0]||(t[0]=e=>Xe.isSubmitting=e),"is-full-page":!1},null,8,["modelValue"]),(0,i.Lk)("form",{onSubmit:t[20]||(t[20]=(0,a.D$)((...e)=>qe.submitForm&&qe.submitForm(...e),["prevent"]))},[(0,i.Lk)("div",n,[(0,i.Lk)("div",l,[(0,i.bF)(Re,{icon:["fal","magic-wand-sparkles"],class:"ulf-section-icon"}),(0,i.eW)(" "+(0,r.v_)(e.$t("Describe your audience"))+" ",1),(0,i.Lk)("span",o,(0,r.v_)(e.$t("AI")),1)]),(0,i.Lk)("p",u,(0,r.v_)(e.$t("Describe who should be in this list in plain language. We will suggest criteria you can review and tweak.")),1),(0,i.Lk)("div",{class:(0,r.C4)(["ulf-ai-input-container",{"is-focused":Xe.isAiInputFocused}])},[(0,i.bo)((0,i.Lk)("textarea",{"onUpdate:modelValue":t[1]||(t[1]=e=>Xe.nlDescription=e),class:"ulf-ai-textarea",placeholder:e.$t("e.g. active members who donated this year"),disabled:Xe.isSuggesting,rows:"2",maxlength:"1000",onFocus:t[2]||(t[2]=e=>Xe.isAiInputFocused=!0),onBlur:t[3]||(t[3]=e=>
1Xe.isAiInputFocused=!1),onKeydown:t[4]||(t[4]=(0,a.jR)((0,a.D$)((...e)=>qe.suggestFromDescription&&qe.suggestFromDescription(...e),["exact","prevent"]),["enter"]))},null,40,c),[[a.Jo,Xe.nlDescription]]),(0,i.Lk)("div",d,[Xe.nlDescription.length>0?((0,i.uX)(),(0,i.CE)("span",p,(0,r.v_)(Xe.nlDescription.length)+"/1000 ",1)):(0,i.Q3)("",!0),(0,i.Lk)("button",{type:"button",class:(0,r.C4)(["button ulf-ai-send-btn",[Xe.nlDescription.trim().length>0?"is-primary":"is-white",{"is-loading":Xe.isSuggesting}]]),disabled:!Xe.nlDescription.trim()||Xe.isSuggesting,onClick:t[5]||(t[5]=(...e)=>qe.suggestFromDescription&&qe.suggestFromDescription(...e))},[Xe.isSuggesting?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("span",v,[(0,i.bF)(Re,{icon:["fal","arrow-up"]})]))],10,h)])],2),Xe.suggestionBanner?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,r.C4)(["ulf-ai-banner","is-"+Xe.suggestionBanner.kind])},[(0,i.Lk)("span",null,(0,r.v_)(Xe.suggestionBanner.text),1),(0,i.Lk)("button",{type:"button",class:"ulf-ai-banner-close",onClick:t[6]||(t[6]=e=>Xe.suggestionBanner=null)},[(0,i.bF)(Re,{icon:["fal","xmark"]})])],2)):(0,i.Q3)("",!0)]),(0,i.Lk)("div",m,[(0,i.Lk)("div",f,[(0,i.Lk)("label",y,(0,r.v_)(e.$t("List name")),1),(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[7]||(t[7]=e=>Xe.form.name=e),type:"text",class:(0,r.C4)(["ulf-input",{"is-error":Xe.errors.name}]),placeholder:e.$t("Enter list name"),required:""},null,10,g),[[a.Jo,Xe.form.name]]),Xe.errors.name?((0,i.uX)(),(0,i.CE)("p",b,(0,r.v_)(e.$t("This field is required")),1)):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",k,[(0,i.Lk)("div",$,[(0,i.bF)(Re,{icon:["fal","layer-group"],class:"ulf-section-icon"}),(0,i.eW)(" "+(0,r.v_)(e.$t("List type")),1)]),(0,i.Lk)("div",C,[(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"criteria"===Xe.selectionMethod,"is-disabled":qe.isEditing}]),onClick:t[8]||(t[8]=e=>!qe.isEditing&&(Xe.selectionMethod="criteria"))},["criteria"===Xe.selectionMethod?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",L,[(0,i.bF)(Re,{icon:["fal","bolt"]}),(0,i.eW)(" "+(0,r.v_)(e.$t("Automated by criteria")),1)])],2),(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"manual"===Xe.selectionMethod,"is-disabled":qe.isEditing}]),onClick:t[9]||(t[9]=e=>!qe.isEditing&&(Xe.selectionMethod="manual"))},["manual"===Xe.selectionMethod?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",S,[(0,i.bF)(Re,{icon:["fal","hand-pointer"]}),(0,i.eW)(" "+(0,r.v_)(e.$t("Manual selection")),1)])],2)]),(0,i.Lk)("p",_,(0,r.v_)(e.$t("Automated lists auto-update based on criteria. Manual lists require individual additions. Type cannot be changed after creation.")),1)]),"criteria"===Xe.selectionMethod?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",x,[(0,i.Lk)("div",T,[(0,i.bF)(Re,{icon:["fal","users"],class:"ulf-section-icon"}),(0,i.eW)(" "+(0,r.v_)(e.$t("Audience")),1)]),(0,i.Lk)("div",E,[(0,i.Lk)("label",P,(0,r.v_)(e.$t("Profile type")),1),(0,i.Lk)("div",U,[(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"members_and_contacts"===Xe.form.scope,"is-disabled":qe.isEditing}]),onClick:t[10]||(t[10]=e=>!qe.isEditing&&(Xe.form.scope="members_and_contacts"))},["members_and_contacts"===Xe.form.scope?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",F,(0,r.v_)(e.$t("Members & Contacts")),1)],2),(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"members_only"===Xe.form.scope,"is-disabled":qe.isEditing}]),onClick:t[11]||(t[11]=e=>!qe.isEditing&&(Xe.form.scope="members_only"))},["members_only"===Xe.form.scope?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",V,(0,r.v_)(e.$t("Members Only")),1)],2),(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"contacts_only"===Xe.form.scope,"is-disabled":qe.isEditing}]),onClick:t[12]||(t[12]=e=>!qe.isEditing&&(Xe.form.scope="contacts_only"))},["contacts_only"===Xe.form.scope?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",A,(0,r.v_)(e.$t("Contacts Only")),1)],2)])]),!Xe.form.scope||"members_only"!==Xe.form.scope&&"members_and_contacts"!==Xe.form.scope?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",w,[(0,i.Lk)("label",D,(0,r.v_)(e.$t("Member status")),1),(0,i.Lk)("div",N,[(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"ACTIVE"===Xe.form.memberStatus}]),onClick:t[13]||(t[13]=e=>Xe.form.memberStatus="ACTIVE")},["ACTIVE"===Xe.form.memberStatus?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",I,(0,r.v_)(e.$t("Active Only")),1)],2),(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"INACTIVE"===Xe.form.memberStatus}]),onClick:t[14]||(t[14]=e=>Xe.form.memberStatus="INACTIVE")},["INACTIVE"===Xe.form.memberStatus?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",X,(0,r.v_)(e.$t("Inactive Only")),1)],2),(0,i.Lk)("div",{class:(0,r.C4)(["ulf-option-card",{"is-selected":"ALL"===Xe.form.memberStatus}]),onClick:t[15]||(t[15]=e=>Xe.form.memberStatus="ALL")},["ALL"===Xe.form.memberStatus?((0,i.uX)(),(0,i.Wv)(Re,{key:0,icon:["fal","check"],class:"ulf-option-check"})):(0,i.Q3)("",!0),(0,i.Lk)("div",q,(0,r.v_)(e.$t("All (Active & Inactive)")),1)],2)])])),qe.isEditing?((0,i.uX)(),(0,i.CE)("p",Q,[(0,i.bF)(Re,{icon:["fal","info-circle"]}),(0,i.eW)(" "+(0,r.v_)(e.$t("Scope cannot be changed after creation")),1)])):(0,i.Q3)("",!0)]),Xe.form.scope?((0,i.uX)(),(0,i.CE)("div",R,[(0,i.Lk)("div",M,[(0,i.bF)(Re,{icon:["fal","filter"],class:"ulf-section-icon"}),(0,i.eW)(" "+(0,r.v_)(e.$t("Filter criteria")),1)]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Xe.form.criteria,(s,n)=>((0,i.uX)(),(0,i.CE)("div",{key:`criterion-${n}`},[n>0?((0,i.uX)(),(0,i.CE)("div",B,(0,r.v_)(e.$t("AND")),1)):(0,i.Q3)("",!0),(0,i.Lk)("div",O,[(0,i.Lk)("div",W,[(0,i.Lk)("label",J,(0,r.v_)(e.$t("Property")),1),(0,i.Lk)("div",H,[(0,i.bo)((0,i.Lk)("select",{"onUpdate:modelValue":e=>
1s.property=e,class:"ulf-select",required:"",onChange:e=>qe.onPropertyChange(s,n)},[(0,i.Lk)("option",j,(0,r.v_)(e.$t("Select...")),1),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(qe.getAvailableProperties(s),e=>((0,i.uX)(),(0,i.CE)("option",{key:e.value,value:e.value},(0,r.v_)(e.text),9,G))),128))],40,K),[[a.u1,s.property]])])]),qe.getAvailableOperators(s.property).length>1?((0,i.uX)(),(0,i.CE)("div",Y,[(0,i.Lk)("label",z,(0,r.v_)(e.$t("Operator")),1),(0,i.Lk)("div",Z,[(0,i.bo)((0,i.Lk)("select",{"onUpdate:modelValue":e=>s.operator=e,class:"ulf-select",required:""},[(0,i.Lk)("option",te,(0,r.v_)(e.$t("Select...")),1),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(qe.getAvailableOperators(s.property),e=>((0,i.uX)(),(0,i.CE)("option",{key:e.value,value:e.value},(0,r.v_)(e.text),9,se))),128))],8,ee),[[a.u1,s.operator]])])])):(0,i.Q3)("",!0),qe.isNullOperator(s.operator)?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",ie,[(0,i.Lk)("label",ae,(0,r.v_)(e.$t("Value")),1),qe.isDateProperty(s.property)?(0,i.bo)(((0,i.uX)(),(0,i.CE)("input",{key:0,"onUpdate:modelValue":e=>s.value=e,type:"date",class:(0,r.C4)(["ulf-input",{"is-error":!s.value}]),required:""},null,10,re)),[[a.Jo,s.value]]):qe.isNumericProperty(s.property)?(0,i.bo)(((0,i.uX)(),(0,i.CE)("input",{key:1,"onUpdate:modelValue":e=>s.value=e,type:"number",min:"0",step:"1",class:(0,r.C4)(["ulf-input",{"is-error":""===s.value||null===s.value}]),required:""},null,10,ne)),[[a.Jo,s.value]]):qe.isBooleanProperty(s.property)?((0,i.uX)(),(0,i.CE)("div",le,[(0,i.bo)((0,i.Lk)("select",{"onUpdate:modelValue":e=>s.value=e,class:"ulf-select",required:""},[(0,i.Lk)("option",ue,(0,r.v_)(e.$t("Select...")),1),(0,i.Lk)("option",ce,(0,r.v_)(e.$t("Yes")),1),(0,i.Lk)("option",de,(0,r.v_)(e.$t("No")),1)],8,oe),[[a.u1,s.value]])])):qe.isSelectValueProperty(s.property)?((0,i.uX)(),(0,i.CE)("div",pe,[(0,i.bo)((0,i.Lk)("select",{"onUpdate:modelValue":e=>s.value=e,class:"ulf-select",required:""},[(0,i.Lk)("option",ve,(0,r.v_)(e.$t("Select...")),1),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(qe.getSelectValueOptions(s.property),e=>((0,i.uX)(),(0,i.CE)("option",{key:e.value,value:e.value},(0,r.v_)(e.text),9,me))),128))],8,he),[[a.u1,s.value]])])):qe.isLocalCenterProperty(s.property)?((0,i.uX)(),(0,i.Wv)(Me,{key:4,class:"ulf-tag-field",multiple:"","local-centers":Xe.localCenters,"model-value":qe.localCenterIris(s),"onUpdate:modelValue":e=>qe.onLocalCentersChange(s,e)},null,8,["local-centers","model-value","onUpdate:modelValue"])):qe.isUserTypeProperty(s.property)?((0,i.uX)(),(0,i.Wv)(Oe,{key:5,class:"ulf-tag-field"},{default:(0,i.k6)(()=>[(0,i.bF)(Be,{"model-value":qe.selectedUserTypes(s),data:qe.availableUserTypes(s),field:"name",autocomplete:"","open-on-focus":"","keep-first":"","allow-new":!1,placeholder:e.$t("Type to search..."),expanded:"",onTyping:t[16]||(t[16]=e=>Xe.userTypeSearch=e),"onUpdate:modelValue":e=>qe.onUserTypesChange(s,e)},{empty:(0,i.k6)(()=>[(0,i.eW)((0,r.v_)(e.$t("No results found")),1)]),_:1},8,["model-value","data","placeholder","onUpdate:modelValue"])]),_:2},1024)):qe.isTagProperty(s.property)?((0,i.uX)(),(0,i.CE)("div",fe,[(0,i.bF)(Oe,null,{default:(0,i.k6)(()=>[(0,i.bF)(Be,{modelValue:s.selectedTags,"onUpdate:modelValue":e=>s.selectedTags=e,data:Xe.filteredTags,field:"name",autocomplete:"",loading:Xe.isLoadingTags,placeholder:e.$t("Search tags")+"...","allow-new":!1,"keep-first":"","open-on-focus":"",icon:"tag",onTyping:e=>qe.searchTags(e,s)},{empty:(0,i.k6)(()=>[(0,i.Lk)("div",ye,(0,r.v_)(Xe.searchQuery?e.$t("No tags found"):e.$t("Start typing to search")),1)]),_:1},8,["modelValue","onUpdate:modelValue","data","loading","placeholder","onTyping"])]),_:2},1024)])):(0,i.bo)(((0,i.uX)(),(0,i.CE)("input",{key:7,"onUpdate:modelValue":e=>s.value=e,type:"text",class:(0,r.C4)(["ulf-input",{"is-error":!s.value||""===s.value.trim()}]),placeholder:e.$t("Enter value"),required:""},null,10,ge)),[[a.Jo,s.value]])])),qe.isDonationCriterionValue(s)?((0,i.uX)(),(0,i.CE)("div",be,[(0,i.Lk)("label",ke,(0,r.v_)(e.$t("Product")),1),(0,i.Lk)("div",$e,[(0,i.bo)((0,i.Lk)("select",{"onUpdate:modelValue":e=>s.productUuid=e,class:"ulf-select"},[(0,i.Lk)("option",Le,(0,r.v_)(e.$t("All donation products")),1),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Xe.donationProducts,e=>((0,i.uX)(),(0,i.CE)("option",{key:e.uuid,value:e.uuid},(0,r.v_)(e.name),9,Se))),128))],8,Ce),[[a.u1,s.productUuid]])])])):(0,i.Q3)("",!0),qe.isEventSpecificCriterion(s)?((0,i.uX)(),(0,i.CE)("div",_e,[(0,i.Lk)("label",xe,(0,r.v_)(e.$t("Event")),1),(0,i.Lk)("div",Te,[s.eventName?((0,i.uX)(),(0,i.CE)("div",Ee,[(0,i.Lk)("span",Pe,(0,r.v_)(s.eventName),1),(0,i.Lk)("button",{type:"button",class:"ulf-event-clear",onClick:e=>qe.clearEventSelection(s)},[(0,i.bF)(Re,{icon:["fal","xmark"]})],8,Ue)])):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[17]||(t[17]=e=>Xe.eventSearchText=e),type:"text",class:"ulf-input",placeholder:e.$t("Search events")+"...",onInput:t[18]||(t[18]=e=>qe.searchEvents(Xe.eventSearchText))},null,40,Fe),[[a.Jo,Xe.eventSearchText]]),Xe.eventSearchResults.length>0?((0,i.uX)(),(0,i.CE)("div",Ve,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Xe.eventSearchResults,e=>((0,i.uX)(),(0,i.CE)("div",{key:e.uuid,class:"ulf-event-option",onClick:t=>qe.onEventSelected(e,s)},(0,r.v_)(e.name),9,Ae))),128))])):Xe.eventSearchText&&Xe.eventSearchText.length>=2&&!Xe.isLoadingEvents?((0,i.uX)(),(0,i.CE)("div",we,[(0,i.Lk)("div",De,(0,r.v_)(e.$t("No events found")),1)])):(0,i.Q3)("",!0)],64))])])):(0,i.Q3)("",!0),(0,i.Lk)("button",{type:"button",class:"ulf-criteria-delete mt-0",title:e.$t("Remove criterion"),onClick:e=>qe.removeCriterion(n)},[(0,i.bF)(Re,{icon:["fal","trash"]})],8,Ne)])]))),128)),(0,i.Lk)("button",{type:"button",class:"ulf-add-criterion",onClick:t[19]||(t[19]=(...e)=>qe.addCriterion&&qe.addCriterion(...e))},[(0,i.bF)(Re,{icon:["fal","plus"]}),(0,i.eW)(" "+(0,r.v_)(e.$t("Add Criterion")),1)])])):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],32)])}s(44114),s(18111),s(22489),s(7588),s(61701),s(13579),s(17642),s(58004),s(33853),s(45876),s(32475),s(15024),s(31698);var Xe=s(40834),qe=s(29025),Qe=s(95256),Re={name:"UserListForm",components:{LocalCenterSelect:qe.A},props:{userList:{type:Object,default:null}},data(){return{isSubmitting:!1,errors:{},form:{name:"",tenant:null,owner:null,criteria:[],type:"dynamic",scope:null,memberStatus:"ACTIVE"},selectionMethod:"criteria",nlDescription:"",isSuggesting:!1,suggestionBanner:null,isAiInputFocused:!1,acceptedDescription:null,donationProducts:[],localCenters:[],userTypeSearch:"",availableTags:[],filteredTags:[],isLoadingTags:!1,searchQuery:"",memberProperties:[{value:"status",text:this.$t("Status")},{value:"validFeeDate",text:this.$t("Valid fee date")},{value:"isFullMember",text:this.$t("Is full member")},{value:"dateJoined",text:this.$t("dateJoined")},{value:"dateJoinedFullMember",text:this.$t("Date joined as full member")},{value:"age",text:this.$t("Age")},{value:"tags",text:this.$t("Tags")},{value:"hasPayment",text:this.$t("Has Payment")},{value:"hasRecurringPayment",text:this.$t("Has Recurring Payment")},{value:"eventAttends",text:this.$t("Event Attendance")},{value:"feeStatus",text:this.$t("Membership Fee Status")}],contactProperties:[{value:"name",text:this.$t("Name")},{value:"email",text:this.$t("Email")},{value:"tags",text:this.$t("Tags")},{value:"hasPayment",text:this.$t("Has Payment")},{value:"hasRecurringPayment",text:this.$t("Has Recurring Payment")},{value:"eventAttends",text:this.$t("Event Attendance")}],statusValues:[],operatorOptions:[{value:"eq",text:this.$t("Equals")},{value:"neq",text:this.$t("Not equals")},{value:"gt",text:this.$t("Greater than")},{value:"gte",text:this.$t("Greater than or equals")},{value:"lt",text:this.$t("Less than")},{value:"lte",text:this.$t("Less than or equals")},{value:"like",text:this.$t("Contains")},{value:"isNull",text:this.$t("Is null")},{value:"isNotNull",text:this.$t("Is not null")}],tagOperatorOptions:[{value:"hasTag",text:this.$t("Has tag")},{value:"hasAllTags",text:this.$t("Has all tags")},{value:"hasNotTag",text:this.$t("Doesn't have tag")}],hasPaymentValues:[{value:"donation",text:this.$t("Has made a donation")},{value:"not_donation",text:this.$t("Has never made a donation")},{value:"any",text:this.$t("Any payment (fees, tickets, donations)")},{value:"none",text:this.$t("No payments of any kind")}],hasRecurringPaymentValues:[{value:"donation_active",text:this.$t("Active donation recurring payment")},{value:"donation_past",text:this.$t("Past donation recurring payment")},{value:"donation_any",text:this.$t("Any donation recurring payment")},{value:"not_donation_active",text:this.$t("No active donation recurring payment")},{value:"not_donation_past",text:this.$t("No past donation recurring payment")},{value:"not_donation_any",text:this.$t("No donation recurring payment")},{value:"any_active",text:this.$t("Any active recurring payment")},{value:"any_past",text:this.$t("Any past recurring payment")},{value:"any",text:this.$t("Any recurring payment")},{value:"none",text:this.$t("No recurring payments")}],eventAttendsValues:[{value:"any",text:this.$t("Attended any event")},{value:"none",text:this.$t("Never attended any event")},{value:"specific",text:this.$t("Attended specific event")},{value:"not_specific",text:this.$t("Not attended specific event")}],eventSearchResults:[],isLoadingEvents:!1,eventSearchText:"",feeStatusValues:[{value:"paid",text:this.$t("Paid")}
1,{value:"not_paid",text:this.$t("Not Paid")}],donationDropoutValues:[{value:"yes",text:this.$t("Started but never donated")}]}},computed:{...(0,Xe.L8)(["tenant","user"]),isEditing(){return!!this.userList},userTypeRoles(){return(this.tenant?.roles||[]).filter(e=>e.isUserType).sort((e,t)=>(e.position||0)-(t.position||0))}},watch:{userList:{immediate:!0,handler(e){e?this.initForm(e):this.resetForm()}}},created(){if(this.tenant?.settingFeatures?.contacts?.hasStatuses&&this.fetchProfileStatuses(),this.fetchDonationProducts(),this.tenant?.settingFeatures?.localCenter?.isActive&&this.fetchLocalCenters(),!this.userList&&this.$route?.query?.nl){const e=String(this.$route.query.nl).trim();e&&(this.nlDescription=e,this.$nextTick(()=>this.suggestFromDescription()))}},methods:{suggestFromDescription(){const e=this.nlDescription.trim();e&&(this.isSuggesting=!0,this.suggestionBanner=null,this.$http.plain.post("/user_lists/suggest",{description:e}).then(e=>{const t=e.data||{};this.applySuggestion(t);const s=t.estimatedCount,i=null===s||void 0===s?this.$t("Suggestion ready. Review and tweak the criteria below."):this.$t("~{count} match. Review and tweak below.",{count:s});this.suggestionBanner={kind:"success",text:i}}).catch(e=>{console.log(e);const t=e?.response?.data?.error||this.$t("Could not generate a suggestion. Try rephrasing.");this.suggestionBanner={kind:"error",text:t}}).finally(()=>{this.isSuggesting=!1}))},applySuggestion(e){this.selectionMethod="criteria",this.acceptedDescription=this.nlDescription.trim(),this.form.name=e.name||this.form.name,this.form.type="dynamic",this.form.scope=e.scope||this.form.scope,this.form.memberStatus=e.memberStatus||this.form.memberStatus;const t=Array.isArray(e.criteria)?e.criteria:[];t.forEach(e=>{this.isTagProperty(e.property)&&(e.selectedTags=e.selectedTags||[]),(this.isLocalCenterProperty(e.property)||this.isUserTypeProperty(e.property))&&(e.value=this.toCriterionIds(e.value)),void 0===e.productUuid&&(e.productUuid=null),void 0===e.eventUuid&&(e.eventUuid=null),void 0===e.eventName&&(e.eventName=null)}),this.form.criteria=t,this.errors={}},fetchDonationProducts(){this.$http.plain.get("/my-products?type=donation").then(e=>{this.donationProducts=(e.data["hydra:member"]||[]).map(e=>({uuid:e.uuid,name:e.name}))}).catch(e=>{console.log(e)})},fetchLocalCenters(){this.$http.plain.get("/local_centers_all?isActive=1&tenantSlug="+this.tenant.slug).then(e=>{this.localCenters=(0,Qe.KN)(e.data["hydra:member"]||[],this.tenant)}).catch(e=>{console.log(e)})},fetchProfileStatuses(){this.$http.plain.get("/profile_statuses?order[position]=asc").then(e=>{this.statusValues=[{value:"none",text:this.$t("No status")},...(e.data["hydra:member"]||[]).map(e=>({value:e.id.toString(),text:e.name}))]}).catch(e=>{console.error(e)})},resetForm(){this.form={name:"",tenant:this.tenant["@id"],owner:this.user["@id"],criteria:[],type:"dynamic",scope:null,memberStatus:"ACTIVE"},this.selectionMethod="criteria",this.availableTags=[],this.filteredTags=[],this.searchQuery="",this.errors={},this.nlDescription="",this.acceptedDescription=null,this.suggestionBanner=null},initForm(e){this.form={name:e.name||"",tenant:e.tenant||this.tenant["@id"],owner:e.owner||this.user["@id"],criteria:e.criteria?[...e.criteria]:[],type:e.type||"static",scope:e.scope||null,memberStatus:e.memberStatus||"ALL"},this.form.criteria&&this.form.criteria.length>0&&this.form.criteria.forEach(e=>{if(this.isDateProperty(e.property)&&e.value&&"string"===typeof e.value)try{e.value=new Date(e.value)}catch(t){console.error("Error converting date:",t)}this.isTagProperty(e.property)&&(e.selectedTags=e.selectedTags||[]),(this.isLocalCenterProperty(e.property)||this.isUserTypeProperty(e.property))&&(e.value=this.toCriterionIds(e.value)),void 0===e.productUuid&&(e.productUuid=null),"eventAttends"===e.property&&("yes"===e.value&&(e.value="any"),"no"===e.value&&(e.value="none")),void 0===e.eventUuid&&(e.eventUuid=null),void 0===e.eventName&&(e.eventName=null)}),"dynamic"===this.form.type?this.selectionMethod="criteria":this.selectionMethod="manual",this.errors={},this.nlDescription=e.descriptionPrompt||"",this.acceptedDescription=null,this.suggestionBanner=null},getAvailableProperties(e=null){let t;return"members_only"===this.form.scope?(t=[...this.memberProperties],(this.userTypeRoles.length>
10||this.isUserTypeProperty(e?.property))&&t.push({value:"userType",text:this.$t("User type")})):"contacts_only"===this.form.scope||"members_and_contacts"===this.form.scope?(t=[{value:"tags",text:this.$t("Tags")},{value:"dateJoined",text:this.$t("Date joined")},{value:"age",text:this.$t("Age")},{value:"hasPayment",text:this.$t("Has Payment")},{value:"hasRecurringPayment",text:this.$t("Has Recurring Payment")},{value:"eventAttends",text:this.$t("Event Attendance")}],this.tenant?.settingFeatures?.contacts?.hasStatuses&&t.unshift({value:"status",text:this.$t("Status")}),"contacts_only"===this.form.scope&&t.push({value:"donationDropout",text:this.$t("Donation dropout")})):t=[...this.memberProperties],this.tenant?.settingFeatures?.localCenter?.isActive&&t.push({value:"localCenter",text:this.$t("Local center")}),"dateBirth"!==e?.property||t.some(e=>"dateBirth"===e.value)||t.push({value:"dateBirth",text:this.$t("Date of Birth")}),t},getAvailableOperators(e){if(this.isTagProperty(e))return this.tagOperatorOptions;if(this.isSelectValueProperty(e))return[{value:"eq",text:this.$t("Equals")}];if(this.isUserTypeProperty(e))return[{value:"eq",text:this.$t("Is one of")}];if(this.isLocalCenterProperty(e)){const e=[{value:"eq",text:this.$t("Is one of")}];return this.tenant?.settingFeatures?.localCenter?.hasParent&&e.push({value:"inChildren",text:this.$t("Sub-centers only")},{value:"inSubtree",text:this.$t("Including sub-centers")}),e.push({value:"isNull",text:this.$t("Has no local center")},{value:"isNotNull",text:this.$t("Has any local center")}),e}return this.isBooleanProperty(e)?[{value:"eq",text:this.$t("Equals")},{value:"neq",text:this.$t("Not equals")}]:this.isDateProperty(e)?this.operatorOptions.filter(e=>"like"!==e.value):this.operatorOptions},onPropertyChange(e,t){this.isTagProperty(e.property)?(e.operator="hasTag",e.selectedTags=[],e.value=null):this.isDateProperty(e.property)||this.isNumericProperty(e.property)?(e.operator="gte",e.selectedTags=null,e.value=""):this.isBooleanProperty(e.property)?(e.operator="eq",e.selectedTags=null,e.value=""):this.isLocalCenterProperty(e.property)||this.isUserTypeProperty(e.property)?(e.operator="eq",e.selectedTags=null,e.value=[],e.productUuid=null,e.eventUuid=null,e.eventName=null):this.isSelectValueProperty(e.property)?(e.operator="eq",e.selectedTags=null,e.value="donationDropout"===e.property?"yes":"",e.productUuid=null,e.eventUuid=null,e.eventName=null):(e.operator="eq",e.selectedTags=null,e.value="",e.productUuid=null,e.eventUuid=null,e.eventName=null)},addCriterion(){const e={property:"dateJoined",operator:"gte",value:"",productUuid:null,eventUuid:null,eventName:null};this.form.criteria.push(e)},removeCriterion(e){this.form.criteria.splice(e,1)},isDateProperty(e){return["validFeeDate","dateBirth","dateJoined","dateJoinedFullMember"].includes(e)},isNumericProperty(e){return["age"].includes(e)},isBooleanProperty(e){return["isFullMember"].includes(e)},isSelectValueProperty(e){return["status","hasPayment","hasRecurringPayment","eventAttends","feeStatus","donationDropout"].includes(e)},isTagProperty(e){return["tags"].includes(e)},isLocalCenterProperty(e){return"localCenter"===e},isUserTypeProperty(e){return"userType"===e},selectedUserTypes(e){const t=new Set(this.toCriterionIds(e.value));return this.userTypeRoles.filter(e=>t.has(e.id))},availableUserTypes(e){const t=new Set(this.toCriterionIds(e.value)),s=(this.userTypeSearch||"").toLowerCase();return this.userTypeRoles.filter(e=>!t.has(e.id)&&(e.name||"").toLowerCase().includes(s))},onUserTypesChange(e,t){e.value=t.map(e=>e.id),this.userTypeSearch=""},toCriterionIds(e){const t=Array.isArray(e)?e:[e];return t.filter(e=>"number"===typeof e||"string"===typeof e).map(Number).filter(e=>Number.isInteger(e)&&e>0)},localCenterIris(e){const t=new Set(this.toCriterionIds(e.value));return this.localCenters.filter(e=>t.has(e.id)).map(e=>e["@id"])},onLocalCentersChange(e,t){const s=new Set(t),i=new Set(this.localCenters.map(e=>e.id)),a=this.toCriterionIds(e.value).filter(e=>!i.has(e)),r=this.localCenters.filter(e=>s.has(e["@id"])).map(e=>e.id);e.value=[...a,...r]},isEventSpecificCriterion(e){return"eventAttends"===e.property&&["specific","not_specific"].includes(e.value)},isDonationCriterionValue(e){return!("hasPayment"!==e.property||!["donation","not_donation"].includes(e.value))||!("hasRecurringPayment"!==e.property||!["donation_active","donation_past","donation_any","not_donation_active","not_donation_past","not_donation_any"].includes(e.value))},getSelectValueOptions(e){return"status"===e?this.statusValues:"hasPayment"===e?this.hasPaymentValues:"hasRecurringPayment"===e?this.hasRecurringPaymentValues:"eventAttends"===e?this.eventAttendsValues:"feeStatus"===e?this.feeStatusValues:"donationDropout"===e?this.donationDropoutValues:[]},isNullOperator(e){return["isNull","isNotNull"].includes(e)},validateCriteria(){if(0===this.form.criteria.length)return!1;for(const e of this.form.criteria){if(!e.property)return!1;if(!e.operator)return!1;if(!this.isNullOperator(e.operator))if(this.isTagProperty(e.property)){if(!e.selectedTags||0===e.selectedTags.length)return!1}else if(this.isBooleanProperty(e.property)){if(null===e.value||void 0===e.value||""===e.value)return!1}else if(this.isSelectValueProperty(e.property)){if(!e.value)return!1;if(this.isEventSpecificCriterion(e)&&!e.eventUuid)return!1}else if(this.isLocalCenterProperty(e.property)||this.isUserTypeProperty(e.property)){if(0===this.toCriterionIds(e.value).length)return!1}else if(this.isNumericProperty(e.property)){const t=e.value;if(""===t||null===t||void 0===t)return!1;const s=Number(t);if(!Number.isInteger(s)||s<0)return!1}else if(!e.value||"string"===typeof e.value&&""===e.value.trim())return!1}return!0},searchTags(e,t){if(this.searchQuery=e,!e||e.length<2)return this.filteredTags=[],void(this.availableTags=[]);this.isLoadingTags=!0,this.$http.plain.get("/tags",{params:{name:e}}).then(e=>{const s=e.data["hydra:member"]||[];this.availableTags=s;const i=t.selectedTags.map(e=>e["@id"]);this.filteredTags=s.filter(e=>!i.includes(e["@id"]))}).catch(e=>{console.error("Error searching tags:",e),this.availableTags=[],this.filteredTags=[],this.$emit("error",this.$t("Error searching tags"))}).finally(()=>{this.isLoadingTags=!1})},searchEvents(e){this.eventSearchText=e,!e||e.length<2?this.eventSearchResults=[]:(this.isLoadingEvents=!0,this.$http.plain.get("/events",{params:{name:e,"order[dateTimeBegin]":"DESC",itemsPerPage:15}}).then(e=>{this.eventSearchResults=(e.data["hydra:member"]||[]).map(e=>({uuid:e.uuid,name:e.name}))}).catch(e=>{console.log(e),this.eventSearchResults=[]}).finally(()=>{this.isLoadingEvents=!1}))},onEventSelected(e,t){e&&(t.eventUuid=e.uuid,t.eventName=e.name,this.eventSearchText="")},clearEventSelection(e){e.eventUuid=null,e.eventName=null}
1,submitForm(){if(this.errors={},this.isSubmitting=!0,"manual"===this.selectionMethod)this.form.type="static",this.form.criteria=[],this.form.scope=null,this.form.memberStatus=null;else if("criteria"===this.selectionMethod&&(this.form.type="dynamic","contacts_only"===this.form.scope&&(this.form.memberStatus=null),!this.validateCriteria()))return this.isSubmitting=!1,void this.$emit("error",this.$t("Please complete all criteria fields"));if(this.form.criteria&&this.form.criteria.length>0&&this.form.criteria.forEach(e=>{if(this.isDateProperty(e.property)&&e.value&&e.value instanceof Date){const t=new Date(e.value);e.value=t.toISOString().split("T")[0]}this.isTagProperty(e.property)&&e.selectedTags&&(e.value=e.selectedTags.map(e=>e.id||e)),this.isDonationCriterionValue(e)&&e.productUuid||delete e.productUuid,this.isTagProperty(e.property)||delete e.selectedTags}),this.form.owner?.["@id"]&&(this.form.owner=this.form.owner["@id"]),this.isEditing){const e={...this.form};delete e.tenant,delete e.owner,this.acceptedDescription&&(e.descriptionPrompt=this.acceptedDescription),this.$http.plain.patch(`/user_lists/${this.userList.id}`,e).then(()=>{this.$emit("success",this.$t("Updated successfully")),this.$emit("updated")}).catch(e=>{this.handleFormErrors(e)}).finally(()=>{this.isSubmitting=!1})}else{const e={...this.form};delete e.tenant,delete e.owner,this.acceptedDescription&&(e.descriptionPrompt=this.acceptedDescription),this.$http.plain.post("/user_lists",e).then(e=>{this.$emit("success",this.$t("Created successfully"));const t=e?.data?.id;t?this.$router.push({name:"UserListView",params:{item:t}}):this.$router.push({name:"UserListIndex"})}).catch(e=>{this.handleFormErrors(e)}).finally(()=>{this.isSubmitting=!1})}},handleFormErrors(e){e.response&&e.response.data&&e.response.data.violations?(e.response.data.violations.forEach(e=>{this.errors[e.propertyPath]=!0}),console.error(this.$t("Form error")),this.$emit("error",this.$t("Form error"))):(console.error(this.$t("Error saving")),this.$emit("error",this.$t("Error saving"))),console.error("Error saving user list:",e)}}},Me=s(66262);const Be=(0,Me.A)(Re,[["render",Ie],["__scopeId","data-v-d1b21cdc"]]);var Oe=Be}}]);

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.