Files
gustavoo-me/wp-content/plugins/fluent-crm/assets/admin/Modules/Email/Campaigns/Campaign.js
T
2026-07-23 22:56:30 -03:00

2 lines
35 KiB
JavaScript

import{ax as e,k as t,ay as i,av as a,D as s,aB as n,aH as r,aI as c,e as l,W as o,a2 as p,E as d,aJ as m,aF as _,aE as g,aY as h,g as u,aZ as v,a_ as f,ap as b}from"../../../../vendor-element-plus.js?ver=3.1.8";import{aQ as y,W as w,X as S,ab as C,a5 as $,Y as T,Z as k,a9 as j,aa as E,a6 as x,a8 as D,ay as R,J as P,az as I,b2 as B,a0 as N,av as V}from"../../../../vendor.js?ver=3.1.8";import{E as O}from"../../../../EmailSubjects.js?ver=3.1.8";import{_ as M,I as A}from"../../../../fc-bits-ui.js?ver=3.1.8";import{E as F}from"../../../../BlockComposer.js?ver=3.1.8";import{B as Y}from"../../../../BaseCard.js?ver=3.1.8";import{R as J}from"../../../../RecipientTaggerForm.js?ver=3.1.8";import{R as z}from"../../../../ReadableRecipientTagger.js?ver=3.1.8";import{S as U}from"../../../../TestEmail.js?ver=3.1.8";import{P as H}from"../../../../PaginationBar.js?ver=3.1.8";import{D as L}from"../../../../DataTable.js?ver=3.1.8";import{g as W}from"../../../../relations.js?ver=3.1.8";import{P as q}from"../../../../PreviewIframeBuilder.js?ver=3.1.8";import{c as K,h as G}from"../../../../data_config.js?ver=3.1.8";import{C as Q}from"../../../../CampaignSubjectLines.js?ver=3.1.8";import{C as Z}from"../../../../Confirm.js?ver=3.1.8";import"../../../../_FormBuilder2.js?ver=3.1.8";import"../../../../PhotoWidget.js?ver=3.1.8";import"../../../../input-popover-dropdown.js?ver=3.1.8";import"../../../../_OptionSelector.js?ver=3.1.8";import"../../../../_AjaxSelector.js?ver=3.1.8";import"../../../../_VerifiedEmailInput.js?ver=3.1.8";import"../../../../_MailerConfig.js?ver=3.1.8";import"../../../../EmailPreview.js?ver=3.1.8";import"../../../../_MergeCodes.js?ver=3.1.8";import"../../../../BuiltinTemplateDrawer.js?ver=3.1.8";import"../../../../PromoCard.js?ver=3.1.8";import"../../../../fc-bits.js?ver=3.1.8";const X={class:"fcrm_campaign_email_subject_settings"};const ee=M({name:"CampaignTemplate",props:["campaign","label_align"],components:{EmailSubjects:O}},[["render",function(t,i,a,s,n,r){const c=y("email-subjects"),l=e;return w(),S("div",X,[C(l,{"label-position":"top",model:a.campaign},{default:$(()=>[C(c,{mailer_settings:!0,multi_subject:!0,label_align:"top",campaign:a.campaign},null,8,["campaign"])],void 0),_:1},8,["model"])])}]]),te={class:"template"};const ie=M({name:"CampaignBodyTemplate",props:["campaign","extra_tags"],emits:["getVisualData","next","prev"],components:{BaseCard:Y,EmailBlockComposer:F},data:()=>({loading:!1}),computed:{hideComposerNext(){const e=(window.fcAdmin&&window.fcAdmin.email_template_designs||{})[this.campaign.design_template];return!(!e||e.use_gutenberg)}},methods:{nextStep(){if(!this.campaign.email_body)return this.$notify.error({title:this.$t("Oops!"),message:this.$t("Cam_Please_peb"),offset:19});this.updateCampaign(e=>{this.$emit("next")})},updateCampaign(e){this.loading=!0;const t=JSON.parse(JSON.stringify(this.campaign));delete t.template;const i={next_step:1,title:t.title,email_subject:t.email_subject,email_pre_header:t.email_pre_header,settings:t.settings,design_template:t.design_template,email_body:t.email_body,template_id:t.template_id,campaign_id:this.campaign.id};t._visual_builder_design&&"visual_builder"==t.design_template&&(i._visual_builder_design_string=JSON.stringify(t._visual_builder_design)),this.$post("campaigns/update-single-campaign",i).then(t=>{e?e(t):this.$notify.success({message:this.$t("Cam_Email_bsu")})}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},updateCampaignAjax(e){this.loading=!0;const t=JSON.parse(JSON.stringify(this.campaign));delete t.template;const i={next_step:1,title:t.title,email_subject:t.email_subject,email_pre_header:t.email_pre_header,settings:t.settings,design_template:t.design_template,email_body:t.email_body,template_id:t.template_id};t._visual_builder_design&&"visual_builder"==t.design_template&&(i._visual_builder_design_string=JSON.stringify(t._visual_builder_design)),window.jQuery.post(window.ajaxurl,{action_data:JSON.stringify(i),campaign_id:t.id,action:"fluentcrm_save_campaign_email_body",_nonce:window.fcAdmin.ajax_nonce,query_timestamp:Date.now()}).then(t=>{e?e(t):this.$notify.success({message:this.$t("Cam_Email_bsu")})}).catch(e=>{this.handleError(e.responseJSON)}).always(()=>{this.loading=!1})},maybeUpdateCampaign(){"visual_builder"==this.campaign.design_template?this.$bus.emit("getVisualData",{reference:"save"}):this.updateCampaign()},goBack(){this.$emit("prev")},maybeNextStep(){if("visual_builder"==this.campaign.design_template){const e=this;this.$bus.emit("getVisualData",{callback:function(t){e.nextStep()},reference:"update_only"})}else this.nextStep()},initKeyboardSave(e){(window.navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),this.maybeUpdateCampaign())}},mounted(){document.addEventListener("keydown",this.initKeyboardSave)},beforeDestroy(){document.removeEventListener("keydown",this.initKeyboardSave)}},[["render",function(e,i,a,s,n,r){const c=t,l=y("email-block-composer"),o=y("base-card");return w(),T(o,{body_class:"fcrm_p_0"},{body:$(()=>[k("div",te,[C(l,{onSave:i[2]||(i[2]=e=>r.updateCampaign()),onEditor_next:i[3]||(i[3]=e=>r.maybeNextStep()),onEditor_back:i[4]||(i[4]=e=>r.goBack()),show_audit:!0,extra_tags:a.extra_tags,show_merge:!0,enable_template_save:!0,enable_templates:!0,campaign:a.campaign,use_fullscreen_editor:!1,iframe_nav_mode:"compose",hideBackBtn:!0,"hide-next-btn":r.hideComposerNext},{fc_editor_actions:$(()=>[C(c,{onClick:i[0]||(i[0]=e=>r.maybeUpdateCampaign()),size:"small"},{default:$(()=>[j(E(e.$t("Save")),1)],void 0,!0),_:1}),C(c,{type:"primary",onClick:i[1]||(i[1]=e=>r.maybeNextStep()),size:"small"},{default:$(()=>[j(E(e.$t("Next")),1)],void 0,!0),_:1})]),_:1},8,["extra_tags","campaign","hide-next-btn"])])]),_:1})}]]),ae={class:"recipients"},se={key:1},ne={class:"fcrm_email_camp_recipients_processing_card"},re={class:"fcrm_sms_campaign_view--progress-card"},ce={class:"fcrm_sms_campaign_view--progress-header"},le={class:"fcrm_sms_campaign_view--progress-title"},oe={key:0,class:"fcrm_sms_campaign_view--progress-percent"},pe={class:"fcrm_sms_campaign_view--scheduling-note"},de={key:0,class:"text-align-center"},me={style:{"text-align":"left"}};const _e={class:"icon"},ge=["title","src","alt"],he={class:"fcrm_contact_info"},ue={class:"fcrm_contact_name"},ve={class:"fcrm_contact_email"},fe={class:"d-flex gap-4 flex-wrap"},be=["title"],ye={key:1},we={class:"d-flex gap-4 flex-wrap"},Se={key:1},Ce=["title"];const $e={class:"fcrm_campaign_review_wrapper"},Te={class:"fcrm_campaign_review_row"},ke={class:"fcrm_campaign_review_list"},je={class:"fcrm_campaign_review_item fcrm_campaign_review_item--recipients"},Ee={class:"fcrm_campaign_review_item_header"},xe={class:"fcrm_campaign_review_item_header--title"},De={class:"fcrm_campaign_review_item_header--action"},Re={class:"fcrm_campaign_review_item_body"},Pe={class:"fcrm_campaign_review_item_body_item"},Ie={class:"fcrm_campaign_review_item_body--value"},Be={key:0,class:"fcrm_campaign_review_item_body--recipient-selections"},Ne={class:"fcrm_campaign_review_item fcrm_campaign_review_item--subject"},Ve={class:"fcrm_campaign_review_item_header"},Oe={class:"fcrm_campaign_review_item_header--title"},Me={class:"fcrm_campaign_review_item_header--action"},Ae={class:"fcrm_campaign_review_item_body"},Fe={class:"fcrm_campaign_review_item_body_item"},Ye={class:"fcrm_campaign_review_item_body--label"},Je={class:"fcrm_campaign_review_item_body--value"},ze={class:"fcrm_campaign_review_item_body_item"},Ue={class:"fcrm_campaign_review_item_body--label"},He={class:"fcrm_campaign_review_item_body--value"},Le={class:"fcrm_campaign_review_item fcrm_campaign_review_item--broadcast"},We={class:"fcrm_campaign_review_item_header"},qe={class:"fcrm_campaign_review_item_header--title"},Ke={class:"icon"},Ge={class:"fcrm_campaign_review_item_body"},Qe={class:"fcrm_campaign_review_item_body_item"},Ze={key:0,class:"fcrm_campaign_review_item_body_broadcast--schedule fcrm_pl_24 fcrm_mt_10"},Xe={class:"fcrm_input_hint"},et={key:1,class:"fcrm_campaign_review_item_body_broadcast--range-schedule fcrm_pl_24 fcrm_mt_10"},tt={key:0,class:"fcrm_input_hint"},it=["href"],at={class:"fcrm_input_hint"},st={class:"fcrm_input_hint"},nt={class:"fcrm_campaign_review_email_body"},rt={class:"fcrm_campaign_review_item fcrm_campaign_review_item--email_body"},ct={class:"fcrm_campaign_review_item_header"},lt={class:"fcrm_campaign_review_item_header--title"},ot={class:"fcrm_campaign_review_item_header--action"},pt={class:"fcrm_campaign_review_email_body_preview"},dt={class:"fcrm_preview_device_toggle"},mt={class:"fcrm_device_btn_group"},_t=["title"],gt=["title"],ht=["title"],ut={class:"dialog-footer"};const vt={key:0,class:"fcrm_edit_campaign_page fluentcrm-campaign"},ft={class:"fcrm_page_header_top_nav_wrapper"},bt={class:"fcrm_page_header_top_nav"},yt={key:0,class:"fcrm_inline_editable_input"},wt={key:1,class:"d-flex items-center gap-4"},St=["aria-label"],Ct={class:"fcrm_page_header_top_actions"},$t={class:"fcrm_edit_campaign_steps"},Tt={class:"fcrm_edit_campaign_progress_label"},kt={class:"fcrm_edit_campaign_progress_bar"},jt=["onClick"],Et={class:"fcrm_edit_campaign_steps_wrapper fcrm_sticky_block_composer_page"},xt={key:0,class:"fcrm_compose_editor_step"},Dt={key:1,class:"fcrm_max_w_800"},Rt={key:2,class:"fcrm_max_w_800"};const Pt=M({name:"Campaign",components:{BaseCard:Y,Icons:A,TestEmail:U,Confirm:Z,CampaignTemplate:ee,Recipients:M({name:"Recipients",components:{RecipientTaggerForm:J},props:["campaign","insertingNow","processingError","totalContacts","insertedTotal","progressPercent"],emits:["retry","start-over"]},[["render",function(s,n,r,c,l,o){const p=y("recipient-tagger-form"),d=e,m=a,_=t,g=i;return w(),S("div",ae,[r.insertingNow?(w(),S("div",se,[k("div",ne,[k("div",re,[k("div",ce,[k("span",le,E(s.$t("Processing now...")),1),r.totalContacts?x((w(),S("span",oe,[j(E(r.progressPercent)+"% ("+E(r.insertedTotal)+" / "+E(r.totalContacts)+") ",1)])),[[g,r.insertingNow&&!r.processingError]]):D("",!0)]),r.totalContacts?(w(),T(m,{key:0,"stroke-width":8,color:"#8F6ED6","show-text":!1,percentage:r.progressPercent,class:"fcrm_sms_campaign_view--progress-bar"},null,8,["percentage"])):D("",!0),k("p",pe,E(s.$t("Rec_Please_dnctw")),1)])]),r.processingError?(w(),S("div",de,[k("h3",null,E(s.$t("Rec_Processing_EhMit")),1),C(_,{size:"small",type:"danger",onClick:n[1]||(n[1]=e=>s.$emit("retry"))},{default:$(()=>[j(E(s.$t("Resume")),1)],void 0),_:1}),C(_,{size:"small",type:"primary",onClick:n[2]||(n[2]=e=>s.$emit("start-over"))},{default:$(()=>[j(E(s.$t("StartOver")),1)],void 0),_:1}),k("div",me,[k("h3",null,E(s.$t("Error Details")),1),k("pre",null,E(r.processingError),1)])])):D("",!0)])):(w(),T(d,{key:0},{default:$(()=>[C(p,{modelValue:r.campaign.settings,"onUpdate:modelValue":n[0]||(n[0]=e=>r.campaign.settings=e)},null,8,["modelValue"])],void 0),_:1}))])}]]),CampaignReview:M({name:"CampaignReview",props:{campaign:{type:Object,required:!0},sendingType:{type:String,default:"send_now"},scheduleDateTime:{type:[String,Array],default:""}},emits:["goToStep","send-config-change"],components:{CampaignSubjectLines:Q,ReadableRecipients:z,SendTestEmail:U,ViewSegmentRecipients:M({name:"ViewSegmentRecipient",props:["campaign_id"],components:{Icons:A,DataTable:L,PaginationBar:H,Search:s},data:()=>({subscribers:[],loading:!1,first_loading:!0,pagination:{current_page:1,per_page:10,total:0},search:"",sort_by:"id",sort_type:"desc"}),methods:{fetch(){this.loading=!0,this.storage.set("contact_perpage",this.pagination.per_page),this.$get("campaigns/"+this.campaign_id+"/contacts-by-segment",{search:this.search,per_page:this.pagination.per_page,page:this.pagination.current_page,sort_by:this.sort_by,sort_type:this.sort_type}).then(e=>{this.pagination.total=e.subscribers.total,this.subscribers=e.subscribers.data}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1,this.first_loading=!1})},getRelationsArray:W,handleSortable(e){"descending"===e.order?(this.sort_by=e.prop,this.sort_type="DESC"):(this.sort_by=e.prop,this.sort_type="ASC"),this.fetch()}},mounted(){this.pagination.per_page=parseInt(this.storage.get("contact_perpage",10),10)||10,this.fetch()}},[["render",function(e,t,a,s,o,p){const d=y("Icons"),m=l,_=n,g=y("router-link"),h=c,u=r,v=y("pagination-bar"),f=y("data-table"),b=i;return w(),S("div",null,[C(f,{wrapper_border:!0},R({"header-left":$(()=>[C(m,{onKeyup:B(p.fetch,["enter"]),size:"small",placeholder:e.$t("Type and Enter..."),modelValue:o.search,"onUpdate:modelValue":t[0]||(t[0]=e=>o.search=e),onClear:t[1]||(t[1]=e=>p.fetch())},{prefix:$(()=>[k("span",_e,[C(d,{"icon-name":"search"})])]),_:1},8,["onKeyup","placeholder","modelValue"])]),table:$(()=>[o.first_loading?(w(),T(_,{key:0,style:{padding:"20px"},rows:10})):x((w(),T(u,{key:1,"default-sort":{prop:o.sort_by,order:"DESC"==o.sort_type?"descending":"ascending"},"empty-text":e.$t("No Contacts Found"),data:o.subscribers,border:"",id:"fluentcrm-subscribers-table",style:{width:"100%"},stripe:"",onSortChange:p.handleSortable,ref:"subscribersTable"},{default:$(()=>[C(h,{label:e.$t("Email"),property:"email",width:"220",sortable:"custom"},{default:$(t=>[C(g,{class:"fcrm_contact_cell",to:{name:"subscriber",params:{id:t.row.id}}},{default:$(()=>[k("img",{title:e.$t("Contact ID:")+" "+t.row.id,class:"fcrm_contact_photo",src:t.row.photo,alt:t.row.full_name},null,8,ge),k("div",he,[k("div",ue,E(t.row.full_name),1),k("div",ve,E(t.row.email),1)])],void 0,!0),_:2},1032,["to"])]),_:1},8,["label"]),C(h,{"min-width":"300",label:e.$t("Lists"),property:"lists",sortable:!1},{default:$(e=>[k("div",fe,[p.getRelationsArray(e.row,"lists").length?(w(!0),S(P,{key:0},I(p.getRelationsArray(e.row,"lists"),e=>(w(),S("span",{key:e,class:"fcrm_badge"},[k("span",{title:e},E(e),9,be)]))),128)):(w(),S("span",ye,"--"))])]),_:1},8,["label"]),C(h,{"min-width":"300",label:e.$t("Tags"),property:"tags"},{default:$(e=>[k("div",we,[p.getRelationsArray(e.row,"tags").length?(w(!0),S(P,{key:0},I(p.getRelationsArray(e.row,"tags"),e=>(w(),S("span",{key:e,class:"fcrm_badge"},E(e),1))),128)):(w(),S("span",Se,"--"))])]),_:1},8,["label"]),C(h,{"min-width":"120",label:e.$t("Phone"),property:"phone"},{default:$(e=>[j(E(e.row.phone),1)]),_:1},8,["label"]),C(h,{label:e.$t("Type"),width:"150",property:"contact_type",sortable:"custom"},{default:$(t=>[j(E(e.trans(t.row.contact_type)|e.ucWords),1)]),_:1},8,["label"]),C(h,{label:e.$t("Date Added"),"min-width":"190",property:"created_at",sortable:"custom"},{default:$(t=>[t.row.created_at?(w(),S("span",{key:0,title:t.row.created_at},E(e.nsHumanDiffTime(t.row.created_at)),9,Ce)):D("",!0)]),_:1},8,["label"])],void 0,!0),_:1},8,["default-sort","empty-text","data","onSortChange"])),[[b,o.loading]])]),_:2},[o.first_loading?void 0:{name:"pagination",fn:$(()=>[C(v,{pagination:o.pagination,hide_on_single:!1,extra_sizes:[200,250,300,400,600],onFetch:p.fetch},null,8,["pagination","onFetch"])]),key:"0"}]),1024)])}]]),PreviewIframeBuilder:q,Icons:A,EditPen:p,InfoFilled:o},data(){return{sending_type:this.sendingType,schedule_date_time:this.scheduleDateTime,subscribers_modal:!1,showing_recipients:!1,pickerOptions:G,emailDateRangeConfig:K,show_selections:!1,count:null,previewMode:"desktop"}},computed:{scheduleDefaultDate:()=>new Date,scheduleRangeDefaultValue(){const e=new Date,t=new Date;return t.setDate(t.getDate()+7),[e,t]}},watch:{sendingType(e){e!==this.sending_type&&(this.sending_type=e)},scheduleDateTime(e){JSON.stringify(e)!==JSON.stringify(this.schedule_date_time)&&(this.schedule_date_time=e)},sending_type:{handler(){this.$emit("send-config-change",{sendingType:this.sending_type,scheduleDateTime:this.schedule_date_time})},deep:!0},schedule_date_time:{handler(){this.$emit("send-config-change",{sendingType:this.sending_type,scheduleDateTime:this.schedule_date_time})},deep:!0}},methods:{sendingTypeChanged(){"send_now"===this.sending_type||"schedule"===this.sending_type?this.schedule_date_time="":"range_schedule"===this.sending_type&&(this.schedule_date_time=["",""]),this.$emit("send-config-change",{sendingType:this.sending_type,scheduleDateTime:this.schedule_date_time})},goToStep(e){this.$emit("goToStep",e)},saveThisStep(){this.$post(`campaigns/${this.campaign.id}/step`,{next_step:3})},getCount(){this.$get(`campaigns/${this.campaign.id}/estimated-recipients-count`).then(e=>{this.count=e.estimated_count})}},mounted(){this.saveThisStep(),this.getCount()}},[["render",function(e,a,s,n,r,c){const l=y("EditPen"),o=d,p=t,v=y("readable-recipients"),f=y("campaign-subject-lines"),b=y("InfoFilled"),R=m,P=_,I=g,B=h,V=y("send-test-email"),O=y("Icons"),M=y("preview-iframe-builder"),A=y("view-segment-recipients"),F=u,Y=i;return w(),S("div",$e,[k("div",Te,[k("div",ke,[k("div",je,[k("div",Ee,[k("div",xe,E(e.$t("Recipients")),1),k("div",De,[C(p,{onClick:a[0]||(a[0]=e=>c.goToStep(2)),size:"small",plain:""},{default:$(()=>[C(o,null,{default:$(()=>[C(l)],void 0,!0),_:1}),j(" "+E(e.$t("Edit Recipients")),1)],void 0),_:1})])]),k("div",Re,[k("div",Pe,[x((w(),S("p",{class:"fcrm_campaign_review_item_body--label",onClick:a[1]||(a[1]=e=>r.show_selections=!r.show_selections)},[j(E(e.$t("Total")),1)])),[[Y,null===r.count]]),k("p",Ie,E(r.count||"~0+"),1),r.show_selections?(w(),S("div",Be,[k("h3",null,E(e.$t("Recipient Sections")),1),C(v,{settings:s.campaign.settings},null,8,["settings"]),C(p,{size:"small",type:"primary",onClick:a[2]||(a[2]=e=>r.showing_recipients=!r.showing_recipients)},{default:$(()=>[j(E(e.$t("Show Individual Recipients")),1)],void 0),_:1})])):D("",!0)])])]),k("div",Ne,[k("div",Ve,[k("div",Oe,E(e.$t("Subject")),1),k("div",Me,[C(p,{onClick:a[3]||(a[3]=e=>c.goToStep(1)),size:"small",plain:""},{default:$(()=>[C(o,null,{default:$(()=>[C(l)],void 0,!0),_:1}),j(" "+E(e.$t("Edit Subject")),1)],void 0),_:1})])]),k("div",Ae,[k("div",Fe,[k("p",Ye,E(e.$t("Subject")),1),k("p",Je,[C(f,{campaign:s.campaign},null,8,["campaign"])])]),k("div",ze,[k("p",Ue,E(e.$t("Preheader Text")),1),k("p",He,E(s.campaign.email_pre_header||"--"),1)])])]),k("div",Le,[k("div",We,[k("div",qe,[j(E(e.$t("Cam_Broadcast_Schedu"))+" ",1),C(R,{class:"box-item",effect:"dark",content:e.$t("Cam_If_yteiaYcbten"),placement:"top-start"},{default:$(()=>[k("span",Ke,[C(o,null,{default:$(()=>[C(b)],void 0,!0),_:1})])],void 0),_:1},8,["content"])])]),k("div",Ge,[k("div",Qe,[k("h4",null,E(e.$t("When you send the emails?")),1),C(I,{onChange:a[4]||(a[4]=e=>c.sendingTypeChanged()),modelValue:r.sending_type,"onUpdate:modelValue":a[5]||(a[5]=e=>r.sending_type=e)},{default:$(()=>[C(P,{label:"send_now"},{default:$(()=>[j(E(e.$t("Send the emails right now")),1)],void 0,!0),_:1}),C(P,{label:"schedule"},{default:$(()=>[j(E(e.$t("Schedule the emails")),1)],void 0,!0),_:1}),C(P,{label:"range_schedule"},{default:$(()=>[j(E(e.$t("Schedule_Date_Time_Info")),1)],void 0,!0),_:1})],void 0),_:1},8,["modelValue"]),"schedule"==r.sending_type?(w(),S("div",Ze,[k("h4",null,E(e.$t("Date Time")),1),(w(),T(B,{key:"schedule-dt-"+r.sending_type,"value-format":"YYYY-MM-DD HH:mm:ss",modelValue:r.schedule_date_time,"onUpdate:modelValue":a[6]||(a[6]=e=>r.schedule_date_time=e),required:"",type:"datetime","default-value":c.scheduleDefaultDate,"disabled-date":r.pickerOptions.disabledDate,shortcuts:r.pickerOptions.shortcuts,"popper-class":"fcrm_date_time_picker",placeholder:e.$t("Select date and time")},null,8,["modelValue","default-value","disabled-date","shortcuts","placeholder"])),k("p",Xe,[j(E(e.$t("Cam_Current_ST_oySS"))+": ",1),k("code",null,E(s.campaign.server_time),1)])])):"range_schedule"==r.sending_type?(w(),S("div",et,[k("h4",null,E(e.$t("Select_Date_Time_Alert")),1),(w(),T(B,{key:"schedule-range-"+r.sending_type,disabled:!this.has_campaign_pro,format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss",modelValue:r.schedule_date_time,"onUpdate:modelValue":a[7]||(a[7]=e=>r.schedule_date_time=e),required:"",type:"datetimerange","default-value":c.scheduleRangeDefaultValue,"disabled-date":r.emailDateRangeConfig.disabledDate,placeholder:e.$t("Select date and time")},null,8,["disabled","modelValue","default-value","disabled-date","placeholder"])),this.has_campaign_pro?D("",!0):(w(),S("p",tt,[j(E(e.$t("To use this feature you need FluentCRM Pro."))+" ",1),k("a",{target:"_blank",href:e.appVars.upgrade_url},E(e.$t("Please upgrade.")),9,it)])),k("p",at,E(e.$t("Camp_Notice_About_Time")),1),k("p",st,[j(E(e.$t("Cam_Current_ST_oySS"))+": ",1),k("code",null,E(s.campaign.server_time),1)])])):D("",!0)])])])]),k("div",nt,[k("div",rt,[k("div",ct,[k("div",lt,E(e.$t("Email Body")),1),k("div",ot,[C(p,{onClick:a[8]||(a[8]=e=>c.goToStep(0)),plain:""},{default:$(()=>[C(o,null,{default:$(()=>[C(l)],void 0,!0),_:1}),j(" "+E(e.$t("Edit Email Body")),1)],void 0),_:1}),C(V,{placement:"right",campaign:s.campaign},null,8,["campaign"])])])]),k("div",pt,[k("div",dt,[k("div",mt,[k("button",{type:"button",class:N(["fcrm_device_btn",{active:"desktop"===r.previewMode}]),onClick:a[9]||(a[9]=e=>r.previewMode="desktop"),title:e.$t("Desktop Preview")},[C(O,{"icon-name":"desktop"})],10,_t),k("button",{type:"button",class:N(["fcrm_device_btn",{active:"tablet"===r.previewMode}]),onClick:a[10]||(a[10]=e=>r.previewMode="tablet"),title:e.$t("Tablet Preview")},[C(O,{"icon-name":"tablet"})],10,gt),k("button",{type:"button",class:N(["fcrm_device_btn",{active:"mobile"===r.previewMode}]),onClick:a[11]||(a[11]=e=>r.previewMode="mobile"),title:e.$t("Mobile Preview")},[C(O,{"icon-name":"mobile"})],10,ht)])]),k("div",{class:N(["fc_preview_container","fc_preview_"+r.previewMode])},[C(M,{show_audit:!0,frame_height:"500px",campaign:s.campaign,campaign_id:s.campaign.id},null,8,["campaign","campaign_id"])],2)])])]),C(F,{width:"70%",title:e.$t("Campaign Recipients"),"append-to-body":!0,"close-on-click-modal":!1,modelValue:r.showing_recipients,"onUpdate:modelValue":a[13]||(a[13]=e=>r.showing_recipients=e)},{footer:$(()=>[k("span",ut,[C(p,{onClick:a[12]||(a[12]=e=>r.showing_recipients=!1)},{default:$(()=>[j(E(e.$t("Close")),1)],void 0,!0),_:1})])]),default:$(()=>[r.showing_recipients?(w(),T(A,{key:0,campaign_id:s.campaign.id},null,8,["campaign_id"])):D("",!0)],void 0),_:1},8,["title","modelValue"])])}]]),CampaignBodyComposer:ie},data(){return{ArrowRightBold:V(b),activeStep:Math.min(parseInt(this.$route.query.step,10)||0,3),campaign_id:(String(this.$route.params.id||"").match(/^\d+/)||[""])[0],campaign:null,dialogVisible:!1,dialogTitle:this.$t("Edit Campaign"),loading:!1,steps:[{title:this.$t("Compose"),description:this.$t("Compose Your Email Body")},{title:this.$t("Subject & Settings"),description:this.$t("Email Subject & Details")},{title:this.$t("Recipients"),description:this.$t("Select Email Recipients")},{title:this.$t("Review & Send"),description:this.$t("Cam_Send_osce")}],updating:!1,recipientsInsertingNow:!1,recipientsProcessingError:!1,recipientsInsertingPage:1,recipientsInsertedTotal:0,recipientsTotalContacts:0,recipientsBtnSubscribing:!1,subjectStepSaving:!1,show_title_input:!1,editableTitle:"",reviewCampaignSendingType:"send_now",reviewCampaignScheduleDateTime:"",reviewCampaignBtnSending:!1}},computed:{recipientsProgressPercent(){return this.recipientsTotalContacts?parseInt(this.recipientsInsertedTotal/this.recipientsTotalContacts*100):1},reviewCampaignConfirmMessage(){return"send_now"===this.reviewCampaignSendingType?"<b>"+this.$t("Cam_Send_Now_Confirm_Header")+"</b><br />"+this.$t("Cam_Send_Now_Message"):"<b>"+this.$t("Schedule_Cam_Confirm_Header")+"</b>"},reviewCampaignSendButtonLabel(){return"send_now"===this.reviewCampaignSendingType?this.$t("Send Emails Now"):this.$t("Schedule this campaign")}},methods:{changeStep(e){this.activeStep=e,this.$router.push({name:"campaign",query:{step:this.activeStep}})},onCampaignReviewSendConfigChange(e){this.reviewCampaignSendingType=e.sendingType||this.reviewCampaignSendingType,this.reviewCampaignScheduleDateTime=e.scheduleDateTime},targetStep(e,t){t>0&&!this.campaign.title||(2!==t||this.hasConfiguredSubject())&&(3===t&&0===this.campaign.recipients_count||t!==this.activeStep&&(1===this.activeStep&&t>1?this.persistSubjectStep(()=>{this.changeStep(t)}):this.changeStep(t)))},hasConfiguredSubject(){if(this.campaign.subjects&&this.campaign.subjects.length){return this.campaign.subjects.filter(e=>e.key&&e.value&&e.value.trim()).length>=2}return!(!this.campaign.email_subject||!this.campaign.email_subject.trim())},persistSubjectStep(e){if(this.subjectStepSaving)return;this.subjectStepSaving=!0;const t=JSON.parse(JSON.stringify(this.campaign)),i={campaign_id:t.id,next_step:2,update_subjects:!0,title:t.title,email_subject:t.email_subject,email_pre_header:t.email_pre_header,utm_status:t.utm_status,utm_source:t.utm_source,utm_medium:t.utm_medium,utm_campaign:t.utm_campaign,utm_term:t.utm_term,utm_content:t.utm_content,settings:t.settings,subjects:t.subjects||[]};this.$post("campaigns/update-single-campaign",i).then(t=>{(null==t?void 0:t.campaign)&&(this.campaign={...this.campaign,...t.campaign}),e&&e(t)}).catch(e=>{this.handleError(e)}).finally(()=>{this.subjectStepSaving=!1})},next(){0===this.activeStep&&this.unmountBlockEditor(),1!==this.activeStep?this.activeStep<3&&this.changeStep(this.activeStep+1):this.persistSubjectStep(()=>{this.changeStep(2)})},prev(){this.activeStep>0&&this.changeStep(this.activeStep-1)},stepChange(e){this.changeStep(e)},startRecipientsProcess(){this.recipientsInsertingNow=!0;this.validateRecipientsForCampaign()&&this.fetchRecipientsEstimatedContacts()},validateRecipientsForCampaign(){const e=this.campaign.settings,t=e.subscribers.filter(e=>e.list&&e.tag),i=e.excludedSubscribers.filter(e=>e.list&&e.tag);if("list_tag"===e.sending_filter){if(t.length!==e.subscribers.length||i.length&&i.length!==e.excludedSubscribers.length)return this.recipientsInsertingNow=!1,this.$notify.error({title:this.$t("Oops!"),message:this.$t("Recipients.instruction"),offset:19}),!1}else if("dynamic_segment"==e.sending_filter){if(!e.dynamic_segment.uid)return this.recipientsInsertingNow=!1,this.$notify.error({title:this.$t("Oops!"),message:this.$t("Please select the segment"),offset:19}),!1}else if("advanced_filters"==e.sending_filter){let t=!1;if(this.each(e.advanced_filters,e=>{this.isEmptyValue(e)||(t=!0)}),!t)return this.recipientsInsertingNow=!1,this.$notify.error({title:this.$t("Oops!"),message:this.$t("Please select the filters"),offset:19}),!1}const a={subscribers:t,excludedSubscribers:i,sending_filter:e.sending_filter,dynamic_segment:e.dynamic_segment,page:this.recipientsInsertingPage,advanced_filters:JSON.stringify(e.advanced_filters)};return this.recipientsBtnSubscribing=!0,this.recipientsProcessingError=!1,this.$post(`campaigns/${this.campaign.id}/draft-recipients`,a).then(e=>{if("object"!=typeof e)return this.handleError(e),this.recipientsProcessingError=e,void(this.recipientsInsertingNow=!1);e.has_more?(this.recipientsInsertingPage=e.next_page,this.recipientsInsertedTotal=e.count,this.$nextTick(()=>{this.validateRecipientsForCampaign()})):(this.campaign.recipients_count=e.count,this.$notify.success({title:this.$t("Great!"),message:this.$t("Contacts has been attached with this campaign"),offset:19}),this.next(),this.recipientsInsertingNow=!1,this.recipientsInsertingPage=1)}).catch(e=>{this.handleError(e),this.recipientsProcessingError=e||this.$t("Unknown error"),this.recipientsInsertingNow=!1}).finally(()=>{this.recipientsBtnSubscribing=!1}),!0},fetchRecipientsEstimatedContacts(){const e=this.campaign.settings,t=e.subscribers.filter(e=>e.list&&e.tag),i=e.excludedSubscribers.filter(e=>e.list&&e.tag);if("list_tag"===e.sending_filter){if(t.length!==e.subscribers.length||i.length&&i.length!==e.excludedSubscribers.length)return}else if("dynamic_segment"==e.sending_filter){if(!e.dynamic_segment.uid)return}else if("advanced_filters"==e.sending_filter){let t=!1;if(this.each(e.advanced_filters,e=>{this.isEmptyValue(e)||(t=!0)}),!t)return}const a={subscribers:t,excludedSubscribers:i,sending_filter:e.sending_filter,dynamic_segment:e.dynamic_segment,advanced_filters:JSON.stringify(e.advanced_filters)};this.$post("campaigns/estimated-contacts",a).then(e=>{this.recipientsTotalContacts=e.count}).catch(e=>{this.recipientsInsertingNow=!1,this.handleError(e)})},retryRecipientsProcess(){this.recipientsProcessingError=!1,this.validateRecipientsForCampaign()},startOverRecipientsProcess(){this.recipientsProcessingError=!1,this.recipientsInsertingNow=!1,this.recipientsBtnSubscribing=!1},backToCampaigns(){this.activeStep=0,this.$router.push({name:"campaigns",query:{t:(new Date).getTime()}})},fetch(){this.$get(`campaigns/${this.campaign_id}`,{with:["subjects","template"]}).then(e=>{var t;this.campaign=e.campaign,this.editableTitle=(null==(t=e.campaign)?void 0:t.title)||"","draft"!=this.campaign.status&&this.$router.push({name:"campaign-view",params:{id:this.campaign.id}}),this.changeTitle(this.campaign.title+" - Campaign")}).catch(e=>{this.redirectToCampaignsWithWarning(e.message)})},showInputField(){var e;this.editableTitle=(null==(e=this.campaign)?void 0:e.title)||"",this.show_title_input=!0,this.$nextTick(()=>{const e=this.$refs.titleInput,t=Array.isArray(e)?e[0]:e;t&&t.focus&&t.focus()})},cancelInlineTitle(){var e;this.show_title_input=!1,this.editableTitle=(null==(e=this.campaign)?void 0:e.title)||""},saveInlineTitle(){const e=(this.editableTitle||"").trim();e&&(e!==this.campaign.title?this.updateCampaignTitle(e):this.show_title_input=!1)},redirectToCampaignsWithWarning(e){"campaign"===this.$route.name&&this.$messageBox.alert(this.$sanitize(e),this.$t("Oops!"),{center:!0,type:"warning",confirmButtonText:this.$t("View Report"),dangerouslyUseHTMLString:!0,callback:e=>{this.$router.push({name:"campaign-view",params:{id:this.campaign_id},query:{t:(new Date).getTime()}})}})},updateCampaignTitle(e){this.updating=!0,this.$put(`campaigns/${this.campaign_id}/title`,{title:e}).then(t=>{var i;this.campaign.title=(null==(i=null==t?void 0:t.campaign)?void 0:i.title)||e,this.editableTitle=this.campaign.title,this.show_title_input=!1,this.changeTitle(this.campaign.title+" - Campaign"),this.$notify.success(t.message)}).catch(e=>{this.handleError(e)}).finally(()=>{this.updating=!1})},sendReviewCampaign(){const e={};if("schedule"===this.reviewCampaignSendingType){if(!this.reviewCampaignScheduleDateTime)return void this.$notify.error(this.$t("Please select a date and time"));e.scheduled_at=this.reviewCampaignScheduleDateTime,e.sending_type="schedule"}else if("range_schedule"===this.reviewCampaignSendingType){if(!Array.isArray(this.reviewCampaignScheduleDateTime)||!this.reviewCampaignScheduleDateTime[0]||!this.reviewCampaignScheduleDateTime[1])return void this.$notify.error(this.$t("Please select a date and time"));if(!this.has_campaign_pro)return void this.$notify.error(this.$t("You need pro version to use this feature"));e.scheduled_at=this.reviewCampaignScheduleDateTime,e.sending_type="range_schedule"}this.reviewCampaignBtnSending=!0,this.$post(`campaigns/${this.campaign.id}/schedule`,e).then(e=>{this.$notify.success({title:this.$t("Great!"),message:e.message,offset:19}),this.$router.push({name:"campaign-view",params:{id:this.campaign.id}})}).catch(e=>{this.$notify.error(e.message)}).finally(()=>{this.reviewCampaignBtnSending=!1})}},mounted(){this.fetch(),this.changeTitle(this.$t("Campaign"))},beforeRouteLeave(e,t,i){this.unmountBlockEditor(),i()}},[["render",function(e,a,s,n,r,c){const o=v,p=l,d=t,_=y("Icons"),g=f,h=m,u=y("campaign-body-composer"),b=y("test-email"),R=y("campaign-template"),V=y("BaseCard"),O=y("Recipients"),M=y("campaign-review"),A=y("confirm"),F=i;return r.campaign?(w(),S("div",vt,[k("div",ft,[k("div",bt,[C(g,{"separator-icon":r.ArrowRightBold},{default:$(()=>[C(o,{to:{name:"campaigns"}},{default:$(()=>[j(E(e.$t("Email Campaigns")),1)],void 0,!0),_:1}),C(o,{class:"fcrm_funnel_title_editable_wrap"},{default:$(()=>[r.show_title_input?(w(),S("div",yt,[C(p,{ref:"titleInput",modelValue:r.editableTitle,"onUpdate:modelValue":a[0]||(a[0]=e=>r.editableTitle=e),size:"small",placeholder:e.$t("Internal Campaign Title"),onKeyup:[a[1]||(a[1]=B(e=>c.saveInlineTitle(),["enter"])),a[2]||(a[2]=B(e=>c.cancelInlineTitle(),["esc"]))]},null,8,["modelValue","placeholder"]),C(d,{size:"small",type:"primary",loading:r.updating,disabled:r.updating||!r.editableTitle||!r.editableTitle.trim(),onClick:a[3]||(a[3]=e=>c.saveInlineTitle())},{default:$(()=>[j(E(e.$t("Save")),1)],void 0,!0),_:1},8,["loading","disabled"]),C(d,{size:"small",disabled:r.updating,onClick:a[4]||(a[4]=e=>c.cancelInlineTitle())},{default:$(()=>[j(E(e.$t("Cancel")),1)],void 0,!0),_:1},8,["disabled"])])):(w(),S("div",wt,[j(E(r.campaign.title)+" ",1),k("span",{onClick:a[5]||(a[5]=(...e)=>c.showInputField&&c.showInputField(...e)),class:"icon-edit cursor_pointer d-block","aria-label":e.$t("Rename Campaign")},[C(_,{"icon-name":"EditPen",class:"d-block"})],8,St)]))],void 0,!0),_:1})],void 0),_:1},8,["separator-icon"])]),k("div",Ct,[k("div",$t,[k("div",Tt,E(r.activeStep+1)+"/"+E(r.steps.length)+" "+E(e.$t("Completed")),1),k("div",kt,[(w(!0),S(P,null,I(r.steps,(e,t)=>(w(),T(h,{key:t,content:e.title,placement:"top"},{default:$(()=>[k("div",{class:N(["fcrm_edit_campaign_progress_segment",{"is-filled":t<=r.activeStep}]),onClick:e=>c.targetStep(e,t)},null,10,jt)],void 0),_:2},1032,["content"]))),128))])])])]),x((w(),S("div",Et,[0==r.activeStep?(w(),S("div",xt,[C(u,{onNext:a[6]||(a[6]=e=>c.next()),onPrev:a[7]||(a[7]=e=>c.prev()),campaign:r.campaign},null,8,["campaign"])])):D("",!0),1==r.activeStep?(w(),S("div",Dt,[C(V,null,{title:$(()=>[k("h4",null,E(e.$t("Subject & Settings")),1)]),header_action:$(()=>[C(b,{campaign:r.campaign},null,8,["campaign"])]),body:$(()=>[C(R,{campaign:r.campaign},null,8,["campaign"])]),footer:$(()=>[C(d,{disabled:r.subjectStepSaving,onClick:a[8]||(a[8]=e=>c.prev())},{default:$(()=>[j(E(e.$t("Back")),1)],void 0,!0),_:1},8,["disabled"]),C(d,{loading:r.subjectStepSaving,disabled:r.subjectStepSaving,onClick:a[9]||(a[9]=e=>c.next()),type:"primary"},{default:$(()=>[j(E(e.$t("Continue")),1)],void 0,!0),_:1},8,["loading","disabled"])]),_:1})])):D("",!0),2==r.activeStep?(w(),S("div",Rt,[C(V,null,{title:$(()=>[k("h4",null,E(e.$t("Recipients")),1)]),body:$(()=>[C(O,{campaign:r.campaign,"inserting-now":r.recipientsInsertingNow,"processing-error":r.recipientsProcessingError,"total-contacts":r.recipientsTotalContacts,"inserted-total":r.recipientsInsertedTotal,"progress-percent":c.recipientsProgressPercent,onRetry:c.retryRecipientsProcess,onStartOver:c.startOverRecipientsProcess},null,8,["campaign","inserting-now","processing-error","total-contacts","inserted-total","progress-percent","onRetry","onStartOver"])]),footer:$(()=>[C(d,{onClick:a[10]||(a[10]=e=>c.prev())},{default:$(()=>[j(E(e.$t("Back")),1)],void 0,!0),_:1}),C(d,{type:"primary",loading:r.recipientsBtnSubscribing,onClick:a[11]||(a[11]=e=>c.startRecipientsProcess())},{default:$(()=>[j(E(e.$t("Rec_Continue_TNS_aS")),1)],void 0,!0),_:1},8,["loading"])]),_:1})])):D("",!0),3==r.activeStep?(w(),T(V,{key:3},{body:$(()=>[C(M,{onGoToStep:c.stepChange,onSendConfigChange:c.onCampaignReviewSendConfigChange,campaign:r.campaign,"sending-type":r.reviewCampaignSendingType,"schedule-date-time":r.reviewCampaignScheduleDateTime},null,8,["onGoToStep","onSendConfigChange","campaign","sending-type","schedule-date-time"])]),footer:$(()=>[C(d,{onClick:a[12]||(a[12]=e=>c.prev())},{default:$(()=>[j(E(e.$t("Back")),1)],void 0,!0),_:1}),C(A,{placement:"top-start",width:220,message:c.reviewCampaignConfirmMessage,onYes:a[13]||(a[13]=e=>c.sendReviewCampaign())},{reference:$(()=>[x((w(),T(d,{type:"primary"},{default:$(()=>[j(E(c.reviewCampaignSendButtonLabel),1)],void 0,!0),_:1})),[[F,r.reviewCampaignBtnSending]])]),_:1},8,["message"])]),_:1})):D("",!0)])),[[F,r.loading]])])):D("",!0)}]]);export{Pt as default};