PageSourceSearch

https://portal.clickheredigital.com/assets/SocialBudgetAllocations-70lUWAcx.js

js clickheredigital.com collected 2026-10-01 16:32:37 UTC 25,839 bytes, 1 lines download raw bytes

1import{aM as De,o as Me,a3 as Se,b as u,e as b,F as N,j as a,l as Oe,h as r,w as e,aR as Be,g as C,aS as $e,v as G,aB as te,f as v,t as m,y as V,an as oe,ai as Ue,aJ as se,aw as de,s as Z,k as h,V as ee,at as ve,I as fe,a6 as ge,M as be,ab as Ye,B as I,aI as ce,a7 as ye,N as Ve,r as k,c as z,d as K,ae as Ne,aU as ke,u as Ae,aK as he,ay as je,aW as Y,ah as pe,aT as me,q as Pe,p as ue,G as Ie,C as re,av as _e,az as Ee,m as we,A as Re,bn as qe,ag as ze,au as Te,Y as ie,a1 as Le}from"./index-DUWew8AW.js";import{R as H}from"./ReportingResource-DVqEy9lw.js";import{_ as We}from"./PageContent-_L2qDZ3g.js";import{P as Fe}from"./PageHeader-CuloWWA-.js";import{R as Ce}from"./ReportState-D-eTEtEn.js";import{_ as xe}from"./DatePickerCell-BBZs8O_3.js";import{_ as Ke}from"./ClientLink-iPZtHPmn.js";import"./VTimePicker-DIIv4RmN.js";const He={class:"flex items-center justify-between gap-3 px-4 py-3"},Ge={class:"font-semibold text-gray-800"},Je={key:0},Qe={key:1},Xe={class:"flex justify-center items-center w-full"},Ze={__name:"Ads",props:{campaign:{type:Object,required:!0},reportDate:{type:String,required:!0}},setup(E){const M=E,{showErrorNotification:w,showSuccessNotification:B}=Ae(),{confirm:U}=De("social-custom-ad"),{currentUser:D}=he(),{can:S}=je(),A=z(()=>S("manage","BudgetAllocations")),{requiredTextRule:O}=Ne(),j=k(null),y=k([]),ae=k([]),$=k(!1),T=k([{key:"name",order:"asc"}]),R=k(!1),J=k(!1),P=[{title:"Ad Name",key:"name",headerProps:{class:"bg-gray-200"}},{title:"Budget Start Date",key:"budgetStartDate",headerProps:{class:"bg-gray-200"},align:"center"},{title:"Budget End Date",key:"budgetEndDate",headerProps:{class:"bg-gray-200"},align:"center"},{title:"Compliance",key:"compliance",headerProps:{class:"bg-gray-200"},align:"center"},{title:"Confirmed",key:"confirmedBy",headerProps:{class:"bg-gray-200"},sortable:!1,align:"center"},{title:"",key:"actions",headerProps:{class:"bg-gray-200"},sortable:!1,align:"end"}],Q=["N/A","Sent","Approved"],_=ke({name:null,budgetStartDate:null,budgetEndDate:null,compliance:null}),X=z(()=>K(M.reportDate).format("YYYY-MM-DD")),L=z(()=>K(M.reportDate).endOf("month").format("YYYY-MM-DD"));function c(g){return g?K(g).format("YYYY-MM-DD"):K(M.reportDate).format("YYYY-MM-DD")}async function o(){$.value=!0,await H.getSocialCustomAds(M.campaign.id).then(g=>{y.value=g.data.ads,ae.value=g.data.users}).finally(()=>{$.value=!1})}function t(){Object.assign(_,{socialCustomCampaignId:M.campaign.id,name:"",budgetStartDate:null,budgetEndDate:null,dynamic:!1,compliance:null})}async function p(){var g,i;(i=await((g=j.value)==null?void 0:g.validate()))!=null&&i.valid&&H.createSocialCustomAd({..._}).then(F=>{B("New ad has been successfully created."),y.value.push(F.data),t(),R.value=!1}).catch(()=>{w()})}function x(g){H.updateSocialCustomAd(g).then(()=>{B("Ad has been successfully updated.")}).catch(()=>{w()})}function W(g){U(async()=>{await H.deleteSocialCustomAd(g.id).then(()=>{B("Ad is successfully deleted."),y.value=y.value.filter(i=>i.id!==g.id)}).catch(()=>{w()})})}function le(g){var i;g.confirmedBy?(g.confirmedBy=(i=D.value)==null?void 0:i.id,g.confirmedAt=K().format()):(g.confirmedBy=null,g.confirmedAt=null),x(g)}function ne(g){if(g){const i=ae.value.find(F=>F.id===g)||null;if(i)return i.fullName}return null}return Me(()=>{o(),t()}),(g,i)=>{const F=Se("BaseEditDialog");return u(),b("div",null,[$.value?(u(),b(N,{key:0},[a(Oe,{class:"mr-2",size:"20",indeterminate:"",color:"primary"}),i[9]||(i[9]=r(" Please wait while we are loading the ads... ",-1))],64)):(u(),b(N,{key:1},[a(ve,{flat:"",headers:P,items:y.value,"items-per-page":-1,"hide-default-footer":!0,"sort-by":T.value,"onUpdate:sortBy":i[1]||(i[1]=s=>T.value=s)},{top:e(()=>[v("div",He,[v("div",Ge,"Ads for "+m(E.campaign.name),1),A.value?(u(),C(h,{key:0,onClick:i[0]||(i[0]=s=>R.value=!0),color:"primary",variant:"outlined",size:"small"},{default:e(()=>[a(ee,{size:"small",start:""},{default:e(()=>[...i[10]||(i[10]=[r("fas fa-plus",-1)])]),_:1}),i[11]||(i[11]=r(" New Ad ",-1))]),_:1})):G("",!0)])]),"item.name":e(({item:s})=>[A.value?(u(),C(F,{key:0,"return-value":s.name,"onUpdate:returnValue":d=>s.name=d,onSave:d=>x(s)},{input:e(()=>[a(Z,{modelValue:s.name,"onUpdate:modelValue":d=>s.name=d,label:"Ad Name","single-line":""},null,8,["modelValue","onUpdate:modelValue"])]),default:e(()=>[r(m(s.name)+" ",1)]),_:2},1032,["return-value","onUpdate:returnValue","onSave"])):(u(),b(N,{key:1},[r(m(s.name),1)],64))]),"item.budgetStartDate":e(({item:s})=>[A.value?(u(),C(xe,{key:0,value:s.budgetStartDate,"display-format":"MM/DD/YYYY",min:X.value,max:L.value,"save-label":"UPDATE",onInput:d=>s.budgetStartDate=d,onSave:d=>x(s)},null,8,["value","min","max","onInput","onSave"])):(u(),b(N,{key:1},[r(m(V(oe)(s.budgetStartDate)),1)],64))]),"item.budgetEndDate":e(({item:s})=>[A.value?(u(),C(xe,{key:0,value:s.budgetEndDate,"display-format":"MM/DD/YYYY",min:c(s.budgetStartDate),max:L.value,"save-label":"UPDATE",onInput:d=>s.budgetEndDate=d,onSave:d=>x(s)},null,8,["value","min","max","onInput","onSave"])):(u(),b(N,{key:1},[r(m(V(oe)(s.budgetEndDate)),1)],64))]),"item.compliance":e(({item:s})=>[A.value?(u(),C(F,{key:0,"return-value":s.compliance,onSave:d=>x(s),ref:`compliance-${s.id}`},{input:e(()=>[a(de,{label:"Select An Option",items:Q,modelValue:s.compliance,"onUpdate:modelValue":[d=>s.compliance=d,d=>{x(s),g.$refs[`compliance-${s.id}`].save()}],"single-line":""},null,8,["modelValue","onUpdate:modelValue"])]),default:e(()=>[r(m(s.compliance||"-")+" ",1)]),_:2},1032,["return-value","onSave"])):(u(),b(N,{key:1},[r(m(s.compliance||"-"),1)],64))]),"item.confirmedBy":e(({item:s})=>[ne(s.confirmedBy)?(u(),b("div",Je,[a(te,{location:"bottom"},{activator:e(({props:d})=>[v("div",Ue({class:"flex justify-center items-center w-full"},d),[a(se,{modelValue:s.confirmedBy,"onUpdate:modelValue":[l=>s.confirmedBy=l,l=>le(s)],disabled:!A.value},null,8,["modelValue","onUpdate:modelValue","disabled"])],16)]),default:e(()=>[v("span",null," Confirmed By "+m(ne(s.confirmedBy))+" on "+m(V(oe)(s.confirmedAt)),1)]),_:2},1024)])):(u(),b("div",Qe,[v("div",Xe,[a(se,{modelValue:s.confirmedBy,"onUpdate:modelValue":[d=>s.confirmedBy=d,d=>le(s)],disabled:!A.value},null,8,["modelValue","onUpdate:modelValue","disabled"])])]))]),"item.actions":e(({item:s})=>[a(Be,null,{default:e(()=>[A.value?(u(),C($e,{key:0,action:"delete",onClick:d=>W(s)},null,8,["onClick"])):G("",!0)]),_:2},1024)]),_:1},8,["items","sort-by"]),a(Ve,{modelValue:R.value,"onUpdate:modelValue":i[8]||(i[8]=s=>R.value=s),"max-width":"50%"},{default:e(()=>[a(fe,null,{default:e(()=>[a(ge,null,{default:e(()=>[...i[12]||(i[12]=[r("Create New Ad",-1)])]),_:1}),a(be,null,{default:e(()=>[a(Ye,{modelValue:J.value,"onUpdate:modelValue":i[6]||(i[6]=s=>J.value=s),ref_key:"form",ref:j},{default:e(()=>[a(I,null,{default:e(()=>[a(Z,{modelValue:_.name,"onUpdate:modelValue":i[2]||(i[2]=s=>_.name=s),rules:V(O),label:"Ad Name",variant:"filled",required:""},null,8,["modelValue","rules"])]),_:1}),a(I,null,{default:e(()=>[a(ce,{menu:"",value:_.budgetStartDate,label:"Budget Start Date","display-format":"MM/DD/YYYY",min:X.value,max:L.value,"prepe
1nd-inner-icon":"event",variant:"filled",onInput:i[3]||(i[3]=s=>_.budgetStartDate=s)},null,8,["value","min","max"])]),_:1}),a(I,null,{default:e(()=>[a(ce,{value:_.budgetEndDate,label:"Budget End Date","display-format":"MM/DD/YYYY",min:c(_.budgetStartDate),max:L.value,"prepend-inner-icon":"event",variant:"filled",onInput:i[4]||(i[4]=s=>_.budgetEndDate=s)},null,8,["value","min","max"])]),_:1}),a(I,null,{default:e(()=>[a(de,{label:"Compliance",items:Q,modelValue:_.compliance,"onUpdate:modelValue":i[5]||(i[5]=s=>_.compliance=s),variant:"filled"},null,8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(ye,null,{default:e(()=>[a(h,{variant:"text",color:"error",onClick:i[7]||(i[7]=s=>R.value=!1)},{default:e(()=>[...i[13]||(i[13]=[r("Cancel",-1)])]),_:1}),a(h,{color:"primary",onClick:p},{default:e(()=>[...i[14]||(i[14]=[r("Create",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))])}}},ea={class:"flex items-center justify-between gap-3 px-4 py-3"},aa={key:0,class:"text-gray-300"},ta={key:1,class:"text-gray-600"},la=["colspan"],na={class:"p-4"},oa={__name:"Campaigns",props:{client:{type:Object,required:!0},reportDate:{type:String,required:!0},group:{type:String,required:!0}},emits:["updateAllocatedBudget","updateCampaigns","deleteCampaign"],setup(E,{emit:M}){const w=E,B=M,{showErrorNotification:U,showSuccessNotification:D}=Ae(),{confirm:S}=De("social-custom-campaign"),A=k({}),O=(d,l)=>{d?A.value[l]=d:delete A.value[l]},j=d=>A.value[d],{currentUser:y}=he(),{can:ae}=je(),$=z(()=>ae("manage","BudgetAllocations")),{requiredTextRule:T,mustBeNumberRule:R}=Ne(),J=k(null),P=k([]),Q=k([{key:"name",order:"asc"}]),_=k(!1),X=k(!1),L=[{title:"Campaign Name",key:"name",headerProps:{class:"bg-gray-200"}},{title:"Always On",key:"alwaysOn",headerProps:{class:"bg-gray-200"}},{title:"Objective",key:"objective",headerProps:{class:"bg-gray-200"}},{title:"Allocated Budget",key:"budgetAmount",headerProps:{class:"bg-gray-200"}},{title:"Allocated Budget w/Markup",key:"budgetWithMarkup",headerProps:{class:"bg-gray-200"}},{title:"Budget Approved",key:"budgetApprovedAt",headerProps:{class:"bg-gray-200"}},{title:"",key:"data-table-expand",align:"end",sortable:!1,filterable:!1,headerProps:{class:"bg-gray-200"},width:250}],c=["Brand Awareness","Catalog Sales","Event Responses","Facebook Leads","Messages","Page Likes","Post Engagement","Reach","Traffic","Website Conversions"],o=ke({alwaysOn:!1,name:null,objective:null,budgetAmount:null}),t=z(()=>w.client.campaigns.filter(d=>d.group===w.group)),p=z(()=>K(`${w.reportDate}-01`).format("YYYY-MM-DD")),x=()=>{Object.assign(o,{clientId:w.client.client_id,name:"",objective:null,budgetAmount:null,alwaysOn:!1,month:p.value,group:w.group})},W=(d,l=!1)=>{H.updateSocialCustomCampaign(d).then(()=>{l&&B("updateAllocatedBudget",d,w.group),D("Campaign has been successfully updated.")}).catch(()=>{U()})};function le(d){return j(d)}function ne(d){var l,q;d.budgetApprovedAt=K(),d.budgetApprovedBy=(l=y.value)==null?void 0:l.id,d.budgetApprovedByUser=(q=y.value)==null?void 0:q.fullName,W(d)}function g(d){var l;d.budgetAmount===null||d.budgetAmount===void 0||String(d.budgetAmount).trim()===""||(W(d,!0),(l=le(`budget-amount-${d.id}`))==null||l.save(d.budgetAmount))}async function i(){var d,l;(l=await((d=J.value)==null?void 0:d.validate()))!=null&&l.valid&&H.createSocialCustomCampaign({...o}).then(q=>{B("updateCampaigns",q.data,w.group),D("New campaign has been successfully created."),x(),_.value=!1}).catch(()=>{U()})}function F(d){S(async()=>{await H.deleteSocialCustomCampaign(d.id).then(()=>{D("Campaign is successfully deleted."),B("deleteCampaign",d,w.group)}).catch(()=>{U()})})}function s(d){P.value.includes(d)?P.value=P.value.filter(l=>l.id!==d.id):P.value.push(d)}return x(),(d,l)=>{const q=Se("BaseEditDialog");return u(),b("div",null,[a(ve,{flat:"",headers:L,items:t.value,"items-per-page":-1,"hide-default-footer":!0,"sort-by":Q.value,"onUpdate:sortBy":l[2]||(l[2]=n=>Q.value=n),"show-expand":"",expanded:P.value,"onUpdate:expanded":l[3]||(l[3]=n=>P.value=n),"return-object":""},{top:e(()=>[v("div",ea,[l[14]||(l[14]=v("div",{class:"font-semibold text-gray-800"},"Campaigns",-1)),$.value?(u(),C(h,{key:0,onClick:l[0]||(l[0]=n=>_.value=!0),color:"primary",variant:"outlined",size:"small"},{default:e(()=>[a(ee,{size:"small",start:""},{default:e(()=>[...l[12]||(l[12]=[r("fas fa-plus",-1)])]),_:1}),l[13]||(l[13]=r(" New Campaign ",-1))]),_:1})):G("",!0)])]),"item.name":e(({item:n})=>[$.value?(u(),C(q,{key:0,"return-value":n.name,"onUpdate:returnValue":f=>n.name=f,onSave:f=>W(n)},{input:e(()=>[a(Z,{modelValue:n.name,"onUpdate:modelValue":f=>n.name=f,label:"Campaign Name","single-line":""},null,8,["modelValue","onUpdate:modelValue"])]),default:e(()=>[r(m(n.name)+" ",1)]),_:2},1032,["return-value","onUpdate:returnValue","onSave"])):(u(),b(N,{key:1},[r(m(n.name),1)],64))]),"item.alwaysOn":e(({item:n})=>[a(se,{modelValue:n.alwaysOn,"onUpdate:modelValue":[f=>n.alwaysOn=f,f=>W(n)],"hide-details":!0,disabled:!$.value,class:"mt-0"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),"item.objective":e(({item:n})=>[$.value?(u(),C(q,{key:0,"return-value":n.objective,onSave:f=>W(n),ref:`objective-${n.id}`},{input:e(()=>[a(de,{label:"Select An Option",items:c,modelValue:n.objective,"onUpdate:modelValue":[f=>n.objective=f,f=>{W(n),d.$refs[`objective-${n.id}`].save()}],"single-line":""},null,8,["modelValue","onUpdate:modelValue"])]),default:e(()=>[r(m(n.objective)+" ",1)]),_:2},1032,["return-value","onSave"])):(u(),b(N,{key:1},[r(m(n.objective),1)],64))]),"item.budgetAmount":e(({item:n})=>[$.value?(u(),C(q,{key:0,ref:f=>O(f,`budget-amount-${n.id}`),"return-value":n.budgetAmount,"onUpdate:returnValue":f=>n.budgetAmount=f},{input:e(()=>[a(Z,{modelValue:n.budgetAmount,"onUpdate:modelValue":f=>n.budgetAmount=f,label:"Allocated Budget","single-line":"",rules:V(T),required:"",type:"number",onWheel:l[1]||(l[1]=ue(()=>{},["prevent","stop"])),onKeydown:Pe(ue(f=>g(n),["stop","prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","rules","onKeydown"])]),default:e(()=>[r(m(V(Y)(n.budgetAmount))+" ",1)]),_:2},1032,["return-value","onUpdate:returnValue"])):(u(),b(N,{key:1},[r(m(V(Y)(n.budgetAmount)),1)],64))]),"item.budgetApprovedAt":e(({item:n})=>[n.alwaysOn?(u(),b(N,{key:1},[!n.budgetApprovedAt&&$.value?(u(),C(q,{key:0,ref:`budget-approved-${n.id}`,large:"",onSave:f=>ne(n),"save-text":"Confirm"},{input:e(()=>[...l[18]||(l[18]=[v("div",{class:"pa-4"},"Are you sure to confirm the budget?",-1)])]),default:e(()=>[a(h,{size:"small",variant:"outlined",color:"secondary"},{default:e(()=>[a(ee,{start:""},{default:e(()=>[...l[16]||(l[16]=[r("mdi-check",-1)])]),_:1}),l[17]||(l[17]=r(" Approve Budget ",-1))]),_:1})]),_:1},8,["onSave"])):n.budgetApprovedAt?(u(),b("span",ta,[a(te,{location:"bottom"},{activator:e(({props:f})=>[v("div",pe(me(f)),[a(ee,{color:"success",start:""},{default:e(()=>[...l[19]||(l[19]=[r("mdi-check-circle",-1)])]),_:1}),r(" "+m(V(oe)(n.budgetApprovedAt,"LLL")),1)],16)]),default:e(()=>[v("span",null,"Approved by "+m(n.budgetApprovedByUser||"-"),1)]),_:2},1024)])):G("",!0)],64)):(u(),b("span",aa,[a(te,{location:"bottom"},{activator:e(({props:f})=>[v("span",Ue({class:"capitalize"},f),"-",16)]),default:e(()=>[l[15]||(l[15]=v("span",null,"Approval not required",-1))]),_:1})]))]),"item.budgetWithMarkup":e(({item:n})=>[r(m(V(Y)(n.budgetWithMarkup)),1)]),"item.data-table-expand":e(({item:n})=>[a(Be,null,{default:e(()=>[a(h,{variant:"outlined",color:"primary",size:"small",onClick:f=>s(n)},{default:e(()=>[a(ee,{size:"small",start:""},{default:e(()=>[...l[20]||(l[20]=[r("fas fa-edit",-1)])]),_:1}),l[21]||(l[21]=r(" View Ads ",-1))]),_:1},8,["onClick"]),$.value?(u(),C($e,{key:0,action:"delete",onClick:f=>F(n)},null,8,["onClick"])):G("",!0)]),_:2},1024)]),"expanded-row":e(({columns:n,item:f})=>[v("tr",null,[v("td",{colspan:n.length,class:"bg-gray-100"},[v("div",na,[(u(),C(Ze,{ref:f.id,key:f.id,campaign:f,"report-date":E.reportDate},null,8,["campaign","report-date"]))])],8,la)])]),_:1},8,["items","sort-by","expanded"]),a(Ve,{modelValue:_.value,"onUpdate:modelValue":l[11]||(l[11]=n=>_.value=n),"max-width":"50%"},{default:e(()=>[a(fe,null,{default:e(()=>[a(ge,null,{default:e(()=>[...l[22]||(l[22]=[r("Create New Campaign",-1)])]),_:1}),a(be,null,{default:e(()=>[a(Ye,{modelValue:X.value,"onUpdate:modelValue":l[9]||(l[9]=n=>X.value=n),ref_key:"form",ref:J},{default:e(()=>[a(I,null,{default:e(()=>[a(Z,{modelValue:o.name,"onUpdate:modelValue":l[4]||(l[4]=n=>o.name=n),rules:V(T),label:"Campaign Name",variant:"filled",required:""},null,8,["modelValue","rules"])]),_:1}),a(I,null,{default:e(()=>[a(de,{label:"Objective",items:c,modelValue:o.objective,"onUpdate:modelValue":l[5]||(l[5]=n=>o.objective=n),rules:V(T),required:"",variant:"filled"},null,8,["modelValue","rules"])]),_:1}),a(I,null,{default:e(()=>[a(se,{modelValue:o.alwaysOn,"onUpdate:modelValue":l[6]||(l[6]=n=>o.alwaysOn=n),label:"Always On",class:"mt-0 mb-2"},null,8,["modelValue"])]),_:1}),a(I,null,{default:e(()=>
1[a(Z,{modelValue:o.budgetAmount,"onUpdate:modelValue":l[7]||(l[7]=n=>o.budgetAmount=n),label:"Allocated Budget Amount",rules:V(R),onWheel:l[8]||(l[8]=ue(()=>{},["prevent","stop"])),type:"number",variant:"filled",required:""},null,8,["modelValue","rules"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(ye,null,{default:e(()=>[a(h,{variant:"text",color:"error",onClick:l[10]||(l[10]=n=>_.value=!1)},{default:e(()=>[...l[23]||(l[23]=[r("Cancel",-1)])]),_:1}),a(h,{color:"primary",onClick:i},{default:e(()=>[...l[24]||(l[24]=[r("Create",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}},sa={class:"p-1"},da={key:0,class:"flex flex-wrap"},ua={class:"w-1/2 mr-1"},ra={class:"w-1/2"},ia={key:1,class:"w-full flex gap-3"},ca={class:"w-1/2"},pa={key:0,class:"flex flex-wrap"},ma={class:"w-1/2 mr-1"},va={class:"w-1/2"},fa={class:"w-full flex border-t border-gray-400 mt-1 pt-1 font-semibold"},ga={class:"w-1/2"},ba=["colspan"],ya={class:"p-4"},Va={__name:"Clients",props:{clients:{type:Array,required:!0},reportDate:{type:String,required:!0}},setup(E){const M=E,{showErrorNotification:w,showSuccessNotification:B}=Ae(),U=k(""),D=ke({socialMediaManager:null,accountManager:null}),S=k([]),A=k(!1),O=k(null),j=k(""),y=k([]),ae=[{title:"Client",key:"name"},{title:"Account Manager",key:"account_manager"},{title:"Social Media Analyst",key:"social_media_managers"},{title:"Notes",key:"social_implementation_notes",sortable:!1,align:"center"},{title:"Actual Budget",key:"actual_budget"},{title:"Total Spend",key:"total_spend"},{title:"Total Allocated Budget",key:"total_allocated_budget"},{title:"Rollover",key:"rollover"},{title:"Objective",key:"objective"},{title:"Completion %",key:"completion_percentage"},{title:"",key:"data-table-expand",align:"end",sortable:!1,filterable:!1}],$=z(()=>D.socialMediaManager||D.accountManager?y.value.filter(c=>D.accountManager&&c.account_manager!==D.accountManager?!1:D.socialMediaManager?c.social_media_managers.split(",").map(t=>t.trim()).find(t=>t===D.socialMediaManager):!0):y.value),T=z(()=>ie.sortBy(ie.uniq(ie.flatMap(y.value,c=>c.social_media_managers.split(", "))))),R=z(()=>y.value.map(c=>c.account_manager).sort());Ie(()=>M.clients,c=>{y.value=c},{immediate:!0});function J(c){j.value="",O.value=c,j.value=c.social_implementation_notes,A.value=!0}async function P(){var p;const c=(p=O.value)==null?void 0:p.client_id,o=3,t=j.value;await Te.createImplementationNote({body:t,departmentId:o},c).then(()=>{B("Note has been successfully updated."),O.value&&(O.value.social_implementation_notes=j.value),A.value=!1}).catch(()=>{w()})}function Q(c){const o=Math.round(c.actual_budget+c.rollover),t=1;return c.total_allocated_budget>o&&c.budget_changed?"bg-orange-600 text-white":c.campaigns.length>0&&c.campaigns.find(x=>x.alwaysOn&&!x.budgetApprovedAt&&x.budgetAmount>0)?"bg-red-200 text-black":c.total_allocated_budget>o&&Math.abs(o-c.total_allocated_budget)>t?"bg-red-600 text-white":c.budget_changed?"bg-yellow-300 text-black":"bg-white text-black"}function _(c,o){const t=y.value.findIndex(p=>p.client_id===c.clientId&&p.group===o);y.value[t].total_allocated_budget=y.value[t].campaigns.reduce((p,x)=>p+parseFloat(x.budgetAmount),0)}function X(c,o){const t=y.value.findIndex(p=>p.client_id===c.clientId&&p.group===o);y.value[t].campaigns.push(c),_(c,o)}function L(c,o){const t=y.value.findIndex(p=>p.client_id===c.clientId&&p.group===o);y.value[t].campaigns=y.value[t].campaigns.filter(p=>p.id!==c.id),_(c,o)}return(c,o)=>(u(),b("div",sa,[a(I,{align:"center",class:"mb-2"},{default:e(()=>[a(re,null,{default:e(()=>[a(Z,{variant:"outlined",density:"compact",modelValue:U.value,"onUpdate:modelValue":o[0]||(o[0]=t=>U.value=t),clearable:"","prepend-inner-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),a(re,null,{default:e(()=>[a(_e,{variant:"outlined",density:"compact",clearable:"",items:T.value,modelValue:D.socialMediaManager,"onUpdate:modelValue":o[1]||(o[1]=t=>D.socialMediaManager=t),label:"Social Media Analyst","hide-details":""},null,8,["items","modelValue"])]),_:1}),a(re,null,{default:e(()=>[a(_e,{variant:"outlined",density:"compact",clearable:"",items:R.value,modelValue:D.accountManager,"onUpdate:modelValue":o[2]||(o[2]=t=>D.accountManager=t),label:"Account Manager","hide-details":""},null,8,["items","modelValue"])]),_:1})]),_:1}),a(ve,{"fixed-header":"",height:"calc(100vh - 350px)",flat:"",headers:ae,items:$.value,search:U.value,"items-per-page":-1,"hide-default-footer":!0,"row-props":({item:t})=>({class:Q(t)}),"expand-strategy":"single","show-expand":"",expanded:S.value,"onUpdate:expanded":o[3]||(o[3]=t=>S.value=t)},{"item.name":e(({item:t})=>[(u(),C(Ke,{client:t.name,key:`client-${t.name}`},{default:e(()=>[t.cliq2text?(u(),C(Re,{key:0,class:"ml-2",size:"small",color:"warning"},{default:e(()=>[...o[7]||(o[7]=[r("CliQ2Text",-1)])]),_:1})):G("",!0)]),_:2},1032,["client"]))]),"item.account_manager":e(({item:t})=>[r(m(t.account_manager),1)]),"item.social_media_managers":e(({item:t})=>[r(m(t.social_media_managers),1)]),"item.social_implementation_notes":e(({item:t})=>[a(h,{color:"default",variant:"text",onClick:p=>J(t)},{default:e(()=>[a(ee,{size:"small"},{default:e(()=>[...o[8]||(o[8]=[r("fas fa-sticky-note",-1)])]),_:1})]),_:1},8,["onClick"])]),"item.actual_budget":e(({item:t})=>[r(m(V(Y)(t.actual_budget)),1)]),"item.total_spend":e(({item:t})=>[r(m(V(Y)(t.total_spend)),1)]),"item.total_allocated_budget":e(({item:t})=>[r(m(V(Y)(t.total_allocated_budget)),1)]),"item.rollover":e(({item:t})=>[a(te,{location:"top",color:"black",disabled:t.rollover===0},{activator:e(({props:p})=>[v("span",pe(me(p)),m(V(Y)(t.rollover)),17)]),default:e(()=>[t.categorizedRollovers.length>0?(u(),b("div",da,[(u(!0),b(N,null,we(t.categorizedRollovers,(p,x)=>(u(),b("div",{key:x,class:"w-full flex"},[v("div",ua,m(p.name.replace("Always On","Facebook"))+": ",1),v("div",ra,m(V(Y)(p.rollover)),1)]))),128))])):(u(),b("div",ia,[o[9]||(o[9]=v("div",{class:"w-1/2 mr-1"},"Facebook:",-1)),v("div",ca,m(V(Y)(t.rollover)),1)]))]),_:2},1032,["disabled"])]),"item.objective":e(({item:t})=>[a(te,{location:"top",color:"black",disabled:t.objective===0},{activator:e(({props:p})=>[v("span",pe(me(p)),m(V(Y)(t.objective)),17)]),default:e(()=>[t.categorizedObjectives&&t.categorizedObjectives.length>0?(u(),b("div",pa,[(u(!0),b(N,null,we(t.categorizedObjectives,(p,x)=>(u(),b("div",{key:x,class:"w-full flex"},[v("div",ma,m(p.name)+":",1),v("div",va,m(V(Y)(p.objective)),1)]))),128)),v("div",fa,[o[10]||(o[10]=v("div",{class:"w-1/2 mr-1"},"Total:",-1)),v("div",ga,m(V(Y)(t.objective)),1)])])):G("",!0)]),_:2},1032,["disabled"])]),"item.completion_percentage":e(({item:t})=>[r(m(V(Ee)((t.total_allocated_budget/t.objective||0)*100)),1)]),"item.data-table-expand":e(({item:t})=>[a(h,{variant:"outlined",color:"primary",size:"small",onClick:p=>S.value.includes(t.id)?S.value=[]:S.value=[t.id]},{default:e(()=>[a(ee,{size:"small",start:""},{default:e(()=>[...o[11]||(o[11]=[r("fas fa-edit",-1)])]),_:1}),o[12]||(o[12]=r(" View ",-1))]),_:1},8,["onClick"])]),"expanded-row":e(({columns:t,item:p})=>[v("tr",null,[v("td",{colspan:t.length,class:"bg-gray-100"},[v("div",ya,[(u(),C(oa,{ref:p.id,key:p.id,group:p.group,client:p,"report-date":E.reportDate,onUpdateAllocatedBudget:_,onUpdateCampaigns:X,onDeleteCampaign:L},null,8,["group","client","report-date"]))])],8,ba)])]),_:1},8,["items","search","row-props","expanded"]),o[15]||(o[15]=qe('<div class="my-6 p-2 text-gray-600 text-sm"><div class="flex items-center gap-2">
1<div class="h-4 w-4 rounded-xs bg-orange-600"></div> Allocated budget changes exceeds total budget </div><div class="flex items-center gap-2"><div class="h-4 w-4 rounded-xs bg-red-200"></div> Campaigns with unapproved budgets </div><div class="flex items-center gap-2"><div class="h-4 w-4 rounded-xs bg-red-600"></div> Allocated budget exceeds total budget by more than $1 </div><div class="flex items-center gap-2"><div class="h-4 w-4 rounded-xs bg-yellow-300"></div> Budget has been changed </div></div>',1)),a(Ve,{modelValue:A.value,"onUpdate:modelValue":o[6]||(o[6]=t=>A.value=t),"max-width":"50%"},{default:e(()=>[O.value?(u(),C(fe,{key:0},{default:e(()=>[a(ge,null,{default:e(()=>[r(m(O.value.name),1)]),_:1}),a(be,null,{default:e(()=>[a(I,null,{default:e(()=>[a(ze,{variant:"outlined",density:"compact",label:"Social Implementation Notes",rows:"17","model-value":j.value,onChange:o[4]||(o[4]=t=>j.value=t.target.value)},null,8,["model-value"])]),_:1})]),_:1}),a(ye,null,{default:e(()=>[a(h,{variant:"text",color:"error",onClick:o[5]||(o[5]=t=>A.value=!1)},{default:e(()=>[...o[13]||(o[13]=[r("Cancel",-1)])]),_:1}),a(h,{color:"primary",onClick:P},{default:e(()=>[...o[14]||(o[14]=[r("Update",-1)])]),_:1})]),_:1})]),_:1})):G("",!0)]),_:1},8,["modelValue"])]))}},ka={class:"flex items-center space-x-3"},Ba={__name:"SocialBudgetAllocations",setup(E){const M=k(K().format("YYYY-MM")),w=k(!0),B=k([]);async function U(){w.value=!0,await H.getSocialBudgetAllocationClients(M.value).then(S=>{B.value=S.data}),w.value=!1}function D(S){M.value=S,U()}return Me(()=>{U()}),(S,A)=>(u(),b("section",null,[a(Fe,null,{right:e(()=>[v("div",ka,[a(ce,{variant:"outlined",density:"compact",menu:"",value:M.value,type:"month",label:"Select Month","prepend-inner-icon":"event","hide-details":"",loading:w.value,disabled:w.value,onInput:D},null,8,["value","loading","disabled"])])]),default:e(()=>[A[0]||(A[0]=r(" Social Budget Allocation ",-1))]),_:1}),a(Le),a(We,null,{default:e(()=>[w.value?(u(),C(Ce,{key:0,state:"loading"})):B.value.length===0?(u(),C(Ce,{key:1,state:"empty"})):(u(),C(Va,{key:2,clients:B.value,"report-date":M.value},null,8,["clients","report-date"]))]),_:1})]))}};export{Ba as default};

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.