PageSourceSearch

https://app.chargeautomation.com/build/assets/UpsellVendorManagementPage-f19cff89.js

js chargeautomation.com collected 2026-10-04 22:07:29 UTC 17,283 bytes, 2 lines download raw bytes

1import{A as b,f as d,g as c,h as t,x as h,y as m,q as o,L as E,X as V,F as N,D,E as k,m as f,k as _,j as y,a5 as S}from"./primeicons-188d8800.js";import{_ as L}from"./_plugin-vue_export-helper-c27b6911.js";const M={data(){return{vendors:[],searchText:"",searchDebounceTimer:null,openMenuId:null,isLoadingVendors:!1,currentPage:1,perPage:7,pagination:{current_page:1,last_page:1,per_page:7,total:0},createForm:{name:"",email:"",auto_pay_enabled:!0},createFormErrors:{name:"",email:"",general:""},stripeStatusLoading:!1,stripeStatusData:null,stripeStatusError:"",stripeStatusVendorName:"",vendorEligibilityMeta:{is_vendor_creation_restricted:!1},deleteVendorTarget:null,deletePendingCount:0,deleteDisposition:"revert_to_client",isDeletingVendor:!1}},computed:{userCurrentPlan(){var n,e,i;return((i=(e=(n=this.$store)==null?void 0:n.state)==null?void 0:e.profile)==null?void 0:i.billingPlanType)||""},isVendorCreationPlanSupported(){var n;return!((n=this.vendorEligibilityMeta)!=null&&n.is_vendor_creation_restricted)},filteredVendors(){return this.vendors}},watch:{searchText(){this.searchDebounceTimer&&clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=setTimeout(()=>{this.loadVendors(1)},300)}},methods:{async loadVendors(n=this.currentPage){var e,i,l,s,r,u;this.isLoadingVendors=!0;try{const g=this.searchText.trim(),p=await axios.get("/client/v2/upsell-vendors",{params:{paginated:1,page:n,per_page:this.perPage,search:g}});this.vendors=((i=(e=p==null?void 0:p.data)==null?void 0:e.data)==null?void 0:i.vendors)||[],this.vendorEligibilityMeta=((s=(l=p==null?void 0:p.data)==null?void 0:l.data)==null?void 0:s.meta)||this.vendorEligibilityMeta;const v=((u=(r=p==null?void 0:p.data)==null?void 0:r.data)==null?void 0:u.pagination)||null;v&&(this.pagination=v,this.currentPage=v.current_page||1)}finally{this.isLoadingVendors=!1}},openCreateModal(){if(!this.isVendorCreationPlanSupported){this.openPlanNotsupported();return}this.openMenuId=null,this.resetCreateFormErrors(),this.$refs.createVendorModal&&this.$refs.createVendorModal.showModal()},closeCreateModal(){this.$refs.createVendorModal&&this.$refs.createVendorModal.hideModal()},handleCreateModalClose(){this.openMenuId=null,this.resetCreateFormErrors()},resetCreateFormErrors(){this.createFormErrors={name:"",email:"",general:""}},clearCreateFormError(n){!n||!Object.prototype.hasOwnProperty.call(this.createFormErrors,n)||(this.createFormErrors[n]="",this.createFormErrors.general="")},setCreateFormErrorsFromResponse(n){var i,l,s,r,u,g,p;this.resetCreateFormErrors();const e=(l=(i=n==null?void 0:n.response)==null?void 0:i.data)==null?void 0:l.errors;e&&typeof e=="object"&&(this.createFormErrors.name=((s=e==null?void 0:e.name)==null?void 0:s[0])||"",this.createFormErrors.email=((r=e==null?void 0:e.email)==null?void 0:r[0])||"",this.createFormErrors.general=((u=e==null?void 0:e.general)==null?void 0:u[0])||""),!this.createFormErrors.name&&!this.createFormErrors.email&&!this.createFormErrors.general&&(this.createFormErrors.general=((p=(g=n==null?void 0:n.response)==null?void 0:g.data)==null?void 0:p.message)||"Unable to create vendor.")},openPlanNotsupported(){const n=this.$refs.plan_not_supported;n&&n.click()},async createVendor(){if(!this.isVendorCreationPlanSupported){this.openPlanNotsupported();return}try{this.resetCreateFormErrors(),this.createForm.auto_pay_enabled=!0,await axios.post("/client/v2/upsell-vendors",this.createForm),this.createForm.name="",this.createForm.email="",this.createForm.auto_pay_enabled=!0,await this.loadVendors(1),this.closeCreateModal(),toastr.success("Vendor created.")}catch(n){this.setCreateFormErrorsFromResponse(n),this.createFormErrors.general&&toastr.error(this.createFormErrors.general)}},goToOnboarding(n){window.location.href=`/vendor/v2/upsell-vendors-onboarding/${n.id}`},toggleMenu(n){this.openMenuId=this.openMenuId===n?null:n},closeMenu(){this.openMenuId=null},getUpsellCountLabel(n){const e=Number((n==null?void 0:n.upsells_count)||0);return`${e} ${e===1?"upsell":"upsells"} linked`},async handleResendInvite(n){var e,i;this.openMenuId=null;try{await axios.post(`/client/v2/upsell-vendors/${n.id}/resend-invite`),toastr.success("Invite resent.")}catch(l){toastr.error(((i=(e=l==null?void 0:l.response)==null?void 0:e.data)==null?void 0:i.message)||"Unable to resend invite.")}},async handleCheckStripeStatus(n){var e,i,l;this.openMenuId=null,this.stripeStatusData=null,this.stripeStatusError="",this.stripeStatusVendorName=n.name,this.stripeStatusLoading=!0,this.$refs.stripeStatusModal.showModal();try{const s=await axios.get(`/client/v2/upsell-vendors/${n.id}/stripe-status`);this.stripeStatusData=((e=s==null?void 0:s.data)==null?void 0:e.data)||null,await this.loadVendors(this.currentPage)}catch(s){this.stripeStatusError=((l=(i=s==null?void 0:s.response)==null?void 0:i.data)==null?void 0:l.message)||"Unable to fetch Stripe status."}finally{this.stripeStatusLoading=!1}},async removeVendor(n){var i,l,s,r;this.openMenuId=null;let e=0;try{const u=await axios.get(`/client/v2/upsell-vendors/${n.id}/pending-split`);e=Number(((l=(i=u==null?void 0:u.data)==null?void 0:i.data)==null?void 0:l.pending_count)||0)}catch(u){toastr.error(((r=(s=u==null?void 0:u.response)==null?void 0:s.data)==null?void 0:r.message)||this.$t("UPSELLS.VENDORS.PENDING_SPLIT.UNABLE_TO_REMOVE"));return}if(e<=0){await this.executeRemoveVendor(n,"revert_to_client");return}this.deleteVendorTarget=n,this.deleteDisposition="revert_to_client",this.deletePendingCount=e,this.$refs.deleteVendorModal.showModal()},closeDeleteVendorModal(){this.$refs.deleteVendorModal.hideModal(),this.deleteVendorTarget=null},async confirmRemoveVendor(){!this.deleteVendorTarget||this.isDeletingVendor||await this.executeRemoveVendor(this.deleteVendorTarget,this.deleteDisposition,!0)},async executeRemoveVendor(n,e,i=!1){var l,s;if(!(!n||this.isDeletingVendor)){this.isDeletingVendor=!0;try{await axios.delete(`/client/v2/upsell-vendors/${n.id}`,{data:{pending_split_disposition:e}});const r=this.vendors.length===1&&this.currentPage>1;i?this.closeDeleteVendorModal():this.deleteVendorTarget=null,await this.loadVendors(r?this.currentPage-1:this.currentPage),toastr.success(this.$t("UPSELLS.VENDORS.PENDING_SPLIT.VENDOR_REMOVED"))}catch(r){toastr.error(((s=(l=r==null?void 0:r.response)==null?void 0:l.data)==null?void 0:s.message)||this.$t("UPSELLS.VENDORS.PENDING_SPLIT.UNABLE_TO_REMOVE"))}finally{this.isDeletingVendor=!1}}},async goToPage(n){n<1||n>this.pagination.last_page||n===this.currentPage||await this.loadVendors(n)},handleDocumentClick(n){n.target.closest(".dropdown-wrap")||this.closeMenu()}},async mounted(){document.addEventListener("click",this.handleDocumentClick),await this.loadVendors()},beforeDestroy(){this.searchDebounceTimer&&clearTimeout(this.searchDebounceTimer),document.removeEventListener("click",this.handleDocumentClick)}}
1,P={class:"container-fluid vendor-management-page"},T={class:"d-flex justify-content-between align-items-center mb-3"},F={class:"vendor-search-wrap mb-3"},x={class:"vendor-list-wrap"},w={class:"d-flex align-items-center flex-grow-1 min-w-0 gap-3 vendor-row-main"},O={class:"min-w-0 notranslate"},R={class:"vendor-name text-truncate"},I={class:"vendor-email text-truncate d-block"},U={class:"d-flex align-items-center vendor-row-actions"},G={class:"vendor-meta text-right"},A={class:"d-flex flex-wrap justify-content-end align-items-center vendor-badges-gap"},z={key:0,class:"status-pill stripe-connected"},j={key:1,class:"status-pill stripe-pending"},B={class:"vendor-upsells-linked text-muted"},W={class:"dropdown-wrap position-relative"},Y=["onClick"],q={key:0,class:"vendor-menu card shadow-sm"},K=["onClick"],Q=["onClick"],X=["onClick"],H={key:0,class:"text-center text-muted py-3"},J={key:0,class:"d-flex justify-content-between align-items-center mt-3"},Z={class:"text-muted"},$={class:"d-flex align-items-center"},ee=["disabled"],te={class:"text-muted mr-2"},se=["disabled"],ne={ref:"plan_not_supported",type:"button",class:"btn d-none","data-bs-toggle":"modal","data-bs-target":"#gp-terms-access-modal"},re=["aria-label"],ae={key:0,class:"text-center py-3"},oe={key:1},ie={class:"mb-3 text-muted",style:{"font-size":"13px"}},le={class:"notranslate"},de={key:0,class:"d-block text-monospace",style:{"font-size":"11px"}},ce={class:"table table-sm mb-0"},ue={key:2,class:"text-danger py-2"},pe=["aria-label"],me={key:0,class:"text-error invalid-feedback d-block"},he={key:0,class:"text-error invalid-feedback d-block"},_e={key:0,class:"text-error invalid-feedback d-block mt-2"},ge={class:"modal-title cac-modal__title"},ve={class:"translate"},fe=["aria-label"],Ee={key:0,class:"text-muted mb-3"},be={class:"translate"},ye={class:"form-check mb-2"},Ce={class:"form-check-label",for:"delete-split-keep-vendor"},Ve={class:"translate"},Se={class:"form-check"},Ne={class:"form-check-label",for:"delete-split-revert-client"},De={class:"translate"},ke={class:"translate"},Le={class:"translate"};function Me(n,e,i,l,s,r){const u=b("cac-icon"),g=b("cac-btn"),p=b("plan-not-supported"),v=b("cac-modal");return d(),c("div",P,[t("div",T,[e[9]||(e[9]=t("div",{class:"pr-3"},[t("h4",{class:"mb-1 page-title"},"Vendor Management"),t("small",{class:"text-muted"},"Manage your third-party vendors and their payment settings")],-1)),h(g,{"data-test-id":"upsell-vendors-upsell-vendor-management-page-open-create-modal",variant:"primary",rounded:"",class:"add-vendor-btn d-flex align-items-center justify-content-center gap-2",onClick:r.openCreateModal},{default:m(()=>[h(u,{name:"plus",size:"15",fill:"#fff"}),t("span",null,o(n.$t("UPSELLS.VENDORS.VENDOR")),1)]),_:1},8,["onClick"])]),t("div",F,[h(u,{name:"search",size:"20",fill:"#9ca3af"}),E(t("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>s.searchText=a),type:"search",class:"form-control vendor-search-input p-0",placeholder:"Search vendors...",autocomplete:"off"},null,512),[[V,s.searchText]])]),t("div",x,[(d(!0),c(N,null,D(r.filteredVendors,a=>(d(),c("div",{key:a.id,class:"vendor-row d-flex align-items-center justify-content-between"},[t("div",w,[e[10]||(e[10]=t("div",{class:"vendor-icon-circle"},[t("i",{class:"pi pi-building"})],-1)),t("div",O,[t("div",R,o(a.name),1),t("small",I,o(a.email),1)])]),t("div",U,[t("div",G,[t("div",A,[a.payment_gateway_connected?(d(),c("span",z,"Stripe Connected")):(d(),c("span",j,"Pending Connection"))]),t("div",B,o(r.getUpsellCountLabel(a)),1)]),t("div",W,[t("button",{class:"btn btn-link btn-sm p-0 dropdown-toggle-btn",onClick:k(C=>r.toggleMenu(a.id),["stop"])},[...e[11]||(e[11]=[t("span",{class:"dots-trigger notranslate"},"...",-1)])],8,Y),s.openMenuId===a.id?(d(),c("div",q,[!a.payment_gateway_connected&&a.auto_pay_enabled?(d(),c("button",{key:0,class:"vendor-menu-item",onClick:C=>r.handleResendInvite(a)},[...e[12]||(e[12]=[t("span",{class:"menu-icon mr-2","aria-hidden":"true"},[t("i",{class:"pi pi-envelope pi-icon pi-icon--base","aria-hidden":"true"})],-1),f(" Resend Invite ",-1)])],8,K)):_("",!0),a.payment_gateway_account_id?(d(),c("button",{key:1,class:"vendor-menu-item",onClick:C=>r.handleCheckStripeStatus(a)},[...e[13]||(e[13]=[t("span",{class:"menu-icon mr-2","aria-hidden":"true"},[t("i",{class:"pi pi-clock pi-icon pi-icon--base","aria-hidden":"true"})],-1),f(" Check Stripe Status ",-1)])],8,Q)):_("",!0),t("button",{class:"vendor-menu-item text-danger",onClick:C=>r.removeVendor(a)},[...e[14]||(e[14]=[t("span",{class:"menu-icon mr-2","aria-hidden":"true"},[t("i",{class:"pi pi-trash pi-icon pi-icon--base","aria-hidden":"true"})],-1),f(" Remove Vendor ",-1)])],8,X)])):_("",!0)])])]))),128)),r.filteredVendors.length===0?(d(),c("div",H,"No vendors found")):_("",!0)]),s.pagination.total>s.pagination.per_page?(d(),c("div",J,[t("small",Z," Showing "+o(s.vendors.length)+" of "+o(s.pagination.total)+" vendors ",1),t("div",$,[t("button",{class:"btn btn-sm btn-outline-secondary mr-2",disabled:s.currentPage<=1||s.isLoadingVendors,onClick:e[1]||(e[1]=a=>r.goToPage(s.currentPage-1))}," Previous ",8,ee),t("small",te,"Page "+o(s.currentPage)+" of "+o(s.pagination.last_page),1),t("button",{class:"btn btn-sm btn-outline-secondary",disabled:s.currentPage>=s.pagination.last_page||s.isLoadingVendors,onClick:e[2]||(e[2]=a=>r.goToPage(s.currentPage+1))}," Next ",8,se)])])):_("",!0),t("button",ne," ",512),h(p,{"current-plan":r.userCurrentPlan,variant:"pro_enterprise"}
1,null,8,["current-plan"]),h(v,{ref:"stripeStatusModal","modal-id":"stripe-status-modal"},{header:m(()=>[e[15]||(e[15]=t("h5",{class:"modal-title cac-modal__title"},"Stripe Account Status",-1)),t("button",{type:"button",class:"btn-close cac-modal__close","data-bs-dismiss":"modal","aria-label":n.$t("GENERAL_FOR_CLIENT.COMMON.CLOSE")},null,8,re)]),body:m(()=>[s.stripeStatusLoading?(d(),c("div",ae,[...e[16]||(e[16]=[t("span",{class:"text-muted"},"Checking with Stripe…",-1)])])):s.stripeStatusData?(d(),c("div",oe,[t("p",ie,[e[17]||(e[17]=f(" Live status fetched from Stripe for ",-1)),t("strong",null,[t("span",le,o(s.stripeStatusVendorName),1)]),s.stripeStatusData.stripe_account_id?(d(),c("span",de,o(s.stripeStatusData.stripe_account_id),1)):_("",!0)]),t("table",ce,[t("tbody",null,[t("tr",null,[e[18]||(e[18]=t("td",null,"Details submitted",-1)),t("td",null,[t("span",{class:y(s.stripeStatusData.details_submitted?"text-success":"text-danger")},o(s.stripeStatusData.details_submitted?"Yes":"No"),3)])]),t("tr",null,[e[19]||(e[19]=t("td",null,"Transfers",-1)),t("td",null,[t("span",{class:y(s.stripeStatusData.transfers?"text-success":"text-danger")},o(s.stripeStatusData.transfers?"Yes":"No"),3)])])])])])):s.stripeStatusError?(d(),c("div",ue,o(s.stripeStatusError),1)):_("",!0)]),footer:m(()=>[...e[20]||(e[20]=[t("button",{class:"btn btn-secondary btn-sm","data-bs-dismiss":"modal"},"Close",-1)])]),_:1},512),h(v,{ref:"createVendorModal","modal-id":"create-vendor-page-modal","no-body-overflow":!1,onOnClose:r.handleCreateModalClose},{header:m(()=>[e[21]||(e[21]=t("h5",{class:"modal-title cac-modal__title"},"Create New Vendor",-1)),t("button",{type:"button",class:"btn-close cac-modal__close","data-bs-dismiss":"modal","aria-label":n.$t("GENERAL_FOR_CLIENT.COMMON.CLOSE")},null,8,pe)]),body:m(()=>[t("div",{class:y(["form-group",{"has-error":!!s.createFormErrors.name}])},[e[22]||(e[22]=t("label",null,[f("Vendor Name "),t("span",{class:"text-danger"},"*")],-1)),E(t("input",{"onUpdate:modelValue":e[3]||(e[3]=a=>s.createForm.name=a),class:"form-control",type:"text",onInput:e[4]||(e[4]=a=>r.clearCreateFormError("name"))},null,544),[[V,s.createForm.name]]),s.createFormErrors.name?(d(),c("small",me,o(s.createFormErrors.name),1)):_("",!0)],2),t("div",{class:y(["form-group",{"has-error":!!s.createFormErrors.email}])},[e[23]||(e[23]=t("label",null,[f("Email Address "),t("span",{class:"text-danger"},"*")],-1)),E(t("input",{"onUpdate:modelValue":e[5]||(e[5]=a=>s.createForm.email=a),class:"form-control",type:"email",onInput:e[6]||(e[6]=a=>r.clearCreateFormError("email"))},null,544),[[V,s.createForm.email]]),s.createFormErrors.email?(d(),c("small",he,o(s.createFormErrors.email),1)):_("",!0)],2),s.createFormErrors.general?(d(),c("small",_e,o(s.createFormErrors.general),1)):_("",!0)]),footer:m(()=>[h(g,{"data-test-id":"upsell-vendors-upsell-vendor-management-page-close-create-modal",variant:"gray",size:"sm",label:n.$t("GENERAL_FOR_CLIENT.COMMON.CANCEL"),onClick:r.closeCreateModal},null,8,["label","onClick"]),h(g,{"data-test-id":"upsell-vendors-upsell-vendor-management-page-create-vendor",variant:"primary",size:"sm",onClick:r.createVendor},{default:m(()=>[f(o(s.createForm.auto_pay_enabled?"Create & Send Invite":"Create Vendor"),1)]),_:1},8,["onClick"])]),_:1},8,["onOnClose"]),h(v,{ref:"deleteVendorModal","modal-id":"delete-vendor-pending-split-modal"},{header:m(()=>[t("h5",ge,[t("span",ve,o(n.$t("UPSELLS.VENDORS.PENDING_SPLIT.DELETE_TITLE")),1)]),t("button",{type:"button",class:"btn-close cac-modal__close","data-bs-dismiss":"modal","aria-label":n.$t("GENERAL_FOR_CLIENT.COMMON.CLOSE")},null,8,fe)]),body:m(()=>[s.deletePendingCount>0?(d(),c("p",Ee,[t("span",be,o(n.$t("UPSELLS.VENDORS.PENDING_SPLIT.DELETE_UNSETTLED_COUNT",{count:s.deletePendingCount})),1)])):_("",!0),t("div",ye,[E(t("input",{id:"delete-split-keep-vendor","onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDisposition=a),class:"form-check-input",type:"radio",value:"keep_vendor"},null,512),[[S,s.deleteDisposition]]),t("label",Ce,[t("span",Ve,o(n.$t("UPSELLS.VENDORS.PENDING_SPLIT.KEEP_DELETED_VENDOR")),1)])]),t("div",Se,[E(t("input",{id:"delete-split-revert-client","onUpdate:modelValue":e[8]||(e[8]=a=>s.deleteDisposition=a),class:"form-check-input",type:"radio",value:"revert_to_client"},null,512),[[S,s.deleteDisposition]]),t("label",Ne,[t("span",De,o(n.$t("UPSELLS.VENDORS.PENDING_SPLIT.REVERT_TO_CLIENT")),1)])])]),footer:m(()=>[h(g,{variant:"gray",size:"sm",onClick:r.closeDeleteVendorModal},{default:m(()=>
1[t("span",ke,o(n.$t("GENERAL_FOR_CLIENT.COMMON.CANCEL")),1)]),_:1},8,["onClick"]),h(g,{variant:"danger",size:"sm",disabled:s.isDeletingVendor,onClick:r.confirmRemoveVendor},{default:m(()=>[t("span",Le,o(n.$t("UPSELLS.VENDORS.PENDING_SPLIT.REMOVE_VENDOR")),1)]),_:1},8,["disabled","onClick"])]),_:1},512)])}const Fe=L(M,[["render",Me],["__scopeId","data-v-595f3670"]]);export{Fe as default};
2//# sourceMappingURL=UpsellVendorManagementPage-f19cff89.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.