1import{N as ae,e as P,an as M,cL as te,ax as N,cM as se,J as T,o as w,c as W,a as f,b as I,d as h,F as G,D as U,q as p,r as oe,bF as Y,w as _,t as B,k as O,v as j,m as D,H as K,aF as ie,T as H,aG as q,ag as z,aM as J,aU as le,y as ne,aR as re,z as ce,x as Q,A as ue,ay as de,C as me,G as ge,bP as pe,g as fe,R as L,bn as he,V as ve,l as Se,p as Ce}from"./index-CgxcxX9c.js";import{_ as ye}from"./DetailLayout-DCQThFId.js";import{_ as be}from"./SideBarMainInput-B4yskB3T.js";import{a as _e,b as xe,r as De,d as we,c as Ae,g as Ve,e as ke,f as Pe,u as Be}from"./voipShieldStore-G0hWpRzr.js";import{_ as Te,a as Ie}from"./AddCampaignMenu-BM3vgMwk.js";import{_ as Z}from"./ConfirmDialog-CCScX4Cr.js";import{_ as Ee}from"./WrapTableScroll-BC3mBFGz.js";import{_ as Me}from"./CustomTableControls-ZVNMatYV.js";import{_ as $e}from"./CustomDataTable-DkPon6Ol.js";import{_ as X}from"./SearchMiniIcon-DVnTahDt.js";import{_ as Le}from"./DetailAction-IUUoSxcY.js";import"./PencilIcon-BY8nXHAT.js";import"./ArrowSelect-D87KNEp8.js";import"./FormSelect-BRaLJRDD.js";import"./CrossIcon-Cfm-FAfX.js";import"./PlusIcon-CN2GTR9T.js";import"./ArrowInputIconBottom-D50zN8Wy.js";import"./EyeIcon24x24-ySDM4T1Q.js";const R=ae("detailVoipShield",{state:()=>({loading:!1,actionLoading:!1,slug:null,formData:{name:null},campaigns:[],campaignsAvailable:[],carriers:[],carriersSelected:[],onPage:25}),actions:{setVoipShieldSlug(a){this.slug=a},changeOnPage(a){this.onPage=a,se(a,N.blockedCarrier)},getLocalStorageOnPage(){const a=te(N.blockedCarrier);this.onPage=a?Number(a):25},_parseProps({name:a,campaigns:e=[],carriers:t=[]}){this.formData={name:a},this.campaigns=e,this.carriers=t},_changeCampaignsAfterDetach({slug:a}){const e=this.campaigns.findIndex(t=>t.slug===a);e!==-1&&this.campaigns.splice(e,1)},_changeCarrierAfterDetach(a){this.carriers=this.carriers.filter(e=>!a.includes(e.slug))},_changeCarriersAfterUpdate(a){const e=this.carriers.findIndex(t=>t.slug===a.slug);e!==-1&&this.carriers.splice(e,1,a)},_changeCampaignsAvailableAfterAttach({slug:a}){const e=this.campaignsAvailable.findIndex(t=>t.slug===a);e!==-1&&this.campaignsAvailable.splice(e,1)},_changeCampaignsAvailableAfterDetach(a){this.campaignsAvailable.push(a)},changeSelectedItems(a){this.carriersSelected=a},clearSelected(){this.carriersSelected=[]},async goToLoadDetailVoipShield(){this.loading=!0;const{success:a,payload:e,message:t}=await Pe(this.slug);return a?(this._parseProps(e),this.goToLoadAvailableCampaigns()):P().setErrorMessage({message:t}),this.loading=!1,a},async goToUpdateVoipShield(a){const e=P(),{success:t,payload:s,message:o}=await ke({formData:a,slug:this.slug});t?(this._parseProps({...s,campaigns:this.campaigns,carriers:this.carriers}),e.setSuccessMessage({message:o})):e.setErrorMessage({message:o})},async goToLoadAvailableCampaigns(){const a=M();if(!a.permissions.campaigns.view||!a.permissions.voipShield.edit)return;const{success:e,payload:t,message:s}=await Ve(this.slug);e?this.campaignsAvailable=t:P().setErrorMessage({message:s})},async goToAttachCampaign(a){const e=P(),{success:t,message:s}=await Ae({slug:this.slug,campaign:a.slug});t?(this.campaigns.push(a),this._changeCampaignsAvailableAfterAttach(a),e.setSuccessMessage({message:s})):e.setErrorMessage({message:s})},async goToDetachCampaign(a){const e=P();this.actionLoading=!0;const{success:t,message:s}=await we({slug:this.slug,campaign:a.slug});return t?(this._changeCampaignsAfterDetach(a),this._changeCampaignsAvailableAfterDetach(a),e.setSuccessMessage({message:s})):e.setErrorMessage({message:s}),this.actionLoading=!1,{success:t}},async goToUnblockCarrier(a){const e=P();this.actionLoading=!0;const{success:t,message:s}=await De({slug:this.slug,data:{slugs:a}});return t?(this._changeCarrierAfterDetach(a),this.clearSelected(),e.setSuccessMessage({message:s})):e.setErrorMessage({message:s}),this.actionLoading=!1,{success:t}},async goToAddCarrier(a){const e=P();this.actionLoading=!0;const{success:t,payload:s,message:o}=await xe({slug:this.slug,formData:a});return t?(this.carriers=[...this.carriers,s],this.clearSelected(),e.setSuccessMessage({message:o})):e.setErrorMessage({message:o}),this.actionLoading=!1,{success:t}},async goToUpdateCarrier({slugCarrier:a,formData:e}){const t=P();this.actionLoading=!0;const{success:s,payload:o,message:i}=await _e({slug:this.slug,slugCarrier:a,formData:e});return s?(this._changeCarriersAfterUpdate(o),this.clearSelected(),t.setSuccessMessage({message:i})):t.setErrorMessage({message:i}),this.actionLoading=!1,{success:s}}}}),Ue={__name:"VoipShieldMainSection",setup(a){const e=R(),t=M(),s=U({name:null}),o=p(()=>t.permissions.voipShield.edit);function i({name:l}){s.name=l}function d(){e.goToUpdateVoipShield(s)}return T(()=>e.formData,l=>{i(l)},{deep:!0,immediate:!0}),(l,c)=>(w(),W(G,null,[f(be,{modelValue:s.name,"onUpdate:modelValue":c[0]||(c[0]=u=>
1s.name=u),class:"max-mob:px-4",loading:I(e).loading,readonly:!o.value,onOnBlur:d},null,8,["modelValue","loading","readonly"]),c[1]||(c[1]=h("div",{class:"text-gray-280 max-mob:px-4 text-xs"}," Block VoIP callers to prevent fraud traffic, 0.01$ per call ",-1))],64))}},Oe={class:"block-bg-border block-bg-border-max-mob max-mob:mt-5 mt-8 p-5 max-mob:p-4"},Re={class:"h-7.5 flex items-center"},Fe={class:"-ml-2.5 flex"},Ne={class:"text-xs text-gray-370 dark:text-white truncate"},je={__name:"ProtectedCampaignsSection",setup(a){const e=R(),t=M(),s=p(()=>t.permissions.voipShield.edit),o=p(()=>e.actionLoading),i=p(()=>e.campaigns),d=p(()=>e.campaignsAvailable),l=D(!1),c=D({});function u(S){e.goToAttachCampaign(S)}function y(S){l.value=!0,c.value=S}async function x(S){const{success:v}=await e.goToDetachCampaign(S);v&&(l.value=!1)}return(S,v)=>{const r=oe("CountryFlag");return w(),W(G,null,[h("div",Oe,[v[1]||(v[1]=h("div",{class:"uppercase app-text-lg"}," Protected Campaigns ",-1)),v[2]||(v[2]=h("div",{class:"pt-2 app-text-xs"}," Add campaigns to protect them from unwanted VoIP carriers ",-1)),f(Y,{class:"my-4"}),f(Ie,{items:i.value,readonly:!s.value,onOnSelectItem:y},{default:_(()=>[s.value?(w(),B(Te,{key:0,items:d.value,onOnAdd:u},null,8,["items"])):O("",!0)]),_:1},8,["items","readonly"])]),f(Z,{modelValue:l.value,"onUpdate:modelValue":v[0]||(v[0]=n=>l.value=n),item:c.value,loading:o.value,classWrap:"max-w-100 max-mob:max-w-full min-w-99.5 max-mob:min-w-full",title:"Detach Campaign",subTitle:"Are you sure you want to detach this Campaign from the VoIP Shield?",prop:"",confirmButtons:["Cancel","Confirm"],onSubmitForm:x},{content:_(({item:n})=>[h("div",Re,[h("div",Fe,[f(r,{class:"rounded-0.5 normal-size__dropdown",country:n.country.code},null,8,["country"])]),h("div",Ne,j(n.name),1)])]),_:1},8,["modelValue","item","loading"])],64)}}},We={class:"relative w-max min-w-full"},Ge={class:"flex items-center justify-center gap-x-1.5"},Ke={__name:"BlockedCarriersTable",props:J({loading:{type:Boolean,default:!1},showMultipleActions:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},headers:{type:Array,default:()=>[]}},{onPage:{type:Number,default:25},onPageModifiers:{},selected:{type:Array,default:()=>[]},selectedModifiers:{}}),emits:J(["openBlockCarrierDialog","openDeleteDialog","openEditDialog","openSelectDeleteDialog"],["update:onPage","update:selected"]),setup(a,{emit:e}){const t=a,s=e,o=M(),i=K(a,"onPage"),d=K(a,"selected"),l=U({page:1,total:1}),c=D(""),u=p(()=>o.permissions.voipShield.edit),y=p(()=>le(t.items,c.value,["name"])),x=p(()=>{const C=(l.page-1)*i.value,V=C+i.value;return y.value.slice(C,V)});function S(C){c.value=C}function v(){s("openBlockCarrierDialog")}function r(C){s("openEditDialog",C)}function n(C){s("openDeleteDialog",C)}function A(){s("openSelectDeleteDialog")}function F(C){i.value=C}function E(){l.page=1,l.total=Math.ceil(y.value.length/i.value)}return T(i,()=>{E()}),T(c,()=>{E()}),T(()=>y.value,()=>{E()},{immediate:!0}),(C,V)=>{const $=ie("tippy");return w(),B(Ee,{classBody:"w-full min-w-min",classWrap:"min-w-min",space:"max-mob:px-4 max-mob:-mx-4"},{default:_(()=>[h("div",We,[f(Me,{showMultipleActions:a.showMultipleActions,headerType:I(N).blockedCarrier,class:"pb-2",mainBg:"bg-white dark:bg-blue-850",showOnPage:"",searchTimeout:0,onPage:i.value,onPageConfig:{max:100,min:10},showSearch:"",dropdownButtonConfig:{name:"Block Carrier"},showButton:u.value,onOnChangeOnPage:F,onOnAdd:v,onOnSearch:S},{multipleActions:_(()=>[u.value?H((w(),B(X,{key:0,class:"text-gray-200 hover:text-purple transition-colors cursor-pointer",onClick:A},null,512)),[[$,I(q)("Delete")]]):O("",!0)]),_:1},8,["showMultipleActions","headerType","onPage","showButton"]),f($e,{page:l.page,"onUpdate:page":V[0]||(V[0]=k=>l.page=k),selected:d.value,"onUpdate:selected":V[1]||(V[1]=k=>d.value=k),headers:a.headers,items:x.value,loading:a.loading,total:l.total,offSticky:"",showSelect:"",mainBg:"bg-white dark:bg-blue-850"},{"item.actions":_(({item:k})=>[h("div",Ge,[f(Le,{class:"text-gray-200 hover:text-purple transition-colors cursor-pointer",edit:u.value,onClick:z(m=>r(k),["stop"])},null,8,["edit","onClick"]),u.value?H((w(),B(X,{key:0,class:"text-gray-200 hover:text-purple transition-colors cursor-pointer",onClick:z(m=>n(k),["stop"])},null,8,["onClick"])),[[$,I(q)("Delete")]]):O("",!0)])]),_:1},8,["page","selected","headers","items","loading","total"])])]),_:1})}}},He={class:"text-lg font-medium text-gray-370 dark:text-white uppercase"},qe={class:"flex items-center justify-end w-full gap-x-5"},ze={__name:"CreateEditBlockCarrier",props:{modelValue:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},selectedItem:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},emits:["update:modelValue","createAction","editAction"],setup(a,{emit:e}){const t=a,s=e,o=U({name:{value:"",valid:!1}}),i=U({default:[]}),d=p({get(){return t.modelValue},set(r){s("update:modelValue",r)}}),l=p(()=>{var r;return(r=t.selectedItem)==null?void 0:r.slug}),c=p(()=>t.readonly?"View":l.value?"Update":"Block");function u(){i.default=[r=>!!r||"This field is required"]}
1function y(r){Object.keys(o).forEach(n=>{o[n].value=r[n]})}function x(){d.value=!1}async function S(){await u(),me(o)&&v()}function v(){const r=ge(o);l.value?s("editAction",r,t.selectedItem.slug):s("createAction",r)}return T(d,r=>{r&&(i.default=[],y(t.selectedItem))}),(r,n)=>(w(),B(de,{modelValue:d.value,"onUpdate:modelValue":n[2]||(n[2]=A=>d.value=A)},{header:_(()=>[h("div",He,j(c.value)+" Carrier ",1)]),footer:_(()=>[h("div",qe,[f(ce,{onClick:x},{default:_(()=>[...n[4]||(n[4]=[Q(" Cancel ",-1)])]),_:1}),a.readonly?O("",!0):(w(),B(ue,{key:0,loading:a.loading,onClick:S},{default:_(()=>[Q(j(c.value),1)]),_:1},8,["loading"]))])]),default:_(()=>[h("div",{class:"px-7.5 py-5 max-mob:p-4 w-99.5 max-mob:w-full",onKeyup:ne(S,["enter"])},[n[3]||(n[3]=h("div",{class:"mb-3 text-gray-370 dark:text-white text-xs"}," Carrier Name ",-1)),f(re,{modelValue:o.name.value,"onUpdate:modelValue":n[0]||(n[0]=A=>o.name.value=A),valid:o.name.valid,"onUpdate:valid":n[1]||(n[1]=A=>o.name.valid=A),rules:i.default,readonly:a.readonly,placeholder:"Type Carrier Name",autoFocus:""},null,8,["modelValue","valid","rules","readonly"])],32)]),_:1},8,["modelValue"]))}},Je=[{name:"Blocked Carrier",value:"name"},{name:"Actions",value:"actions",minWidth:114,align:"center"}],Qe={class:"block-bg-border block-bg-border-max-mob mt-6 p-5 max-mob:p-4"},Xe={__name:"BlockedCarriersSection",setup(a){const e=R(),t=M(),s=D(!1),o=D(!1),i=D({}),d=D(""),l=D(""),c=D(""),u=p(()=>t.permissions.voipShield.edit),y=p(()=>e.loading),x=p(()=>e.actionLoading),S=p(()=>e.carriers),v=p(()=>!!e.carriersSelected.length),r=p({get(){return e.onPage},set(m){e.changeOnPage(m)}}),n=p({get(){return e.carriersSelected},set(m){e.changeSelectedItems(m)}});function A(){o.value=!0,i.value={}}function F(m){o.value=!0,i.value=m}function E(m){s.value=!0,i.value=m,c.value="name",d.value="UnBlock Carrier",l.value="Are you sure you want to unblock this Carrier?"}function C(m){s.value=!0,i.value=m,c.value="",d.value="UNBLOCK SELECTED CARRIERS",l.value="Are you sure you want to unblock the selected Carriers?"}async function V(m){const g=n.value.length?n.value.map(ee=>ee.slug):[m.slug],{success:b}=await e.goToUnblockCarrier(g);b&&(s.value=!1)}async function $(m){const{success:g}=await e.goToAddCarrier(m);g&&(o.value=!1)}async function k(m,g){const{success:b}=await e.goToUpdateCarrier({slugCarrier:g,formData:m});b&&(o.value=!1)}return(m,g)=>(w(),W(G,null,[h("div",Qe,[g[4]||(g[4]=h("div",{class:"uppercase app-text-lg"}," Blocked Carriers ",-1)),g[5]||(g[5]=h("div",{class:"pt-2 app-text-xs"}," Block unwanted VoIP carriers ",-1)),f(Y,{class:"my-4"}),f(Ke,{onPage:r.value,"onUpdate:onPage":g[0]||(g[0]=b=>r.value=b),selected:n.value,"onUpdate:selected":g[1]||(g[1]=b=>n.value=b),headers:I(Je),items:S.value,loading:y.value,showMultipleActions:v.value,onOpenBlockCarrierDialog:A,onOpenEditDialog:F,onOpenDeleteDialog:E,onOpenSelectDeleteDialog:C},null,8,["onPage","selected","headers","items","loading","showMultipleActions"])]),f(Z,{modelValue:s.value,"onUpdate:modelValue":g[2]||(g[2]=b=>s.value=b),item:i.value,loading:x.value,title:d.value,subTitle:l.value,prop:c.value,confirmButtons:["Cancel","Confirm"],onSubmitForm:V},null,8,["modelValue","item","loading","title","subTitle","prop"]),f(ze,{modelValue:o.value,"onUpdate:modelValue":g[3]||(g[3]=b=>o.value=b),selectedItem:i.value,loading:x.value,readonly:!u.value,onEditAction:k,onCreateAction:$},null,8,["modelValue","selectedItem","loading","readonly"])],64))}},ha={__name:"DetailVoipShield",setup(a){const e=pe(),t=R(),s=Be(),o=Se(),i=Ce(),d=D("");fe(()=>{e.setBreadCrumbs([{title:"VoIP Shield",routeName:L.voipShield},{title:"Setup Shield",view:L.detailVoipShield}]),t.getLocalStorageOnPage(),c()});function l(){i.push({name:L.voipShield})}async function c(){const u=o.params.slug;t.setVoipShieldSlug(u),await t.goToLoadDetailVoipShield()||l()}return T(()=>o.params,u=>{u!=null&&u.slug&&c()}),he((u,y,x)=>{d.value=u.name,x()}),ve(()=>{d.value!==L.voipShield&&s.$reset(),t.$reset(),e.$reset()}),(u,y)=>(w(),B(ye,{title:"VoIP Shield",loading:I(t).loading,onGoBack:l},{default:_(()=>[f(Ue),f(je),f(Xe)]),_:1},8,["loading"]))}};export{ha as default}; 2//# sourceMappingURL=DetailVoipShield-BCFMHQ4h.js.map
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.