2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{a4 as e,P as t,aZ as a,a_ as l,k as i,h as s,i as o,E as m,j as p,ay as r,av as d,aD as n,aA as _,aw as c,e as h,ax as u,ap as v}from"../../../../vendor-element-plus.js?ver=3.1.8";import{aQ as g,W as f,X as y,Z as b,aa as T,Y as w,a5 as $,ab as j,a9 as k,J as C,a6 as S,a8 as E,av as x}from"../../../../vendor.js?ver=3.1.8";import{E as I}from"../../../../BlockComposer.js?ver=3.1.8";import{I as D}from"../../../../_FormBuilder2.js?ver=3.1.8";import{S as V}from"../../../../TestEmail.js?ver=3.1.8";import{_ as B,I as P}from"../../../../fc-bits-ui.js?ver=3.1.8";import"../../../../input-popover-dropdown.js?ver=3.1.8";import"../../../../data_config.js?ver=3.1.8";import"../../../../EmailPreview.js?ver=3.1.8";import"../../../../PreviewIframeBuilder.js?ver=3.1.8";import"../../../../CampaignSubjectLines.js?ver=3.1.8";import"../../../../PaginationBar.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";import"../../../../PhotoWidget.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";const A={class:"fluentcrm-templates fluentcrm-view-wrapper fluentcrm_view fcrm_edit_template_page fcrm_sticky_block_composer_page"},M={class:"fcrm_page_header_top_nav_wrapper"},U={class:"fcrm_page_header_top_nav"},K={key:0,class:"fcrm_page_header_top_nav--title"},L={class:"fcrm_page_header_top_actions"},F={class:"icon"},J={class:"fluentcrm_body fluentcrm_body_boxed",style:{position:"relative"}},O={key:0,class:"fc_loading_bar"},H={key:1},N={key:2,class:"fc_template_init_notice"},R={key:3,style:{margin:"0 -20px"}};const Q=B({name:"edit_template",props:["template_id"],emits:["getVisualData"],components:{Icons:P,InputPopover:D,EmailBlockComposer:I,SendTestEmail:V,MoreFilled:t,Download:e},data:()=>({ArrowRightBold:x(v),email_template:{post_title:"",post_content:" ",post_excerpt:"",email_subject:"",edit_type:"html",design_template:"simple",settings:{template_config:{}}},email_template_designs:window.fcAdmin.email_template_designs,smart_codes:[],loading:!0,saving:!1,app_ready:!1,codes_ready:!1,is_dirty:!1,prevContent:""}),computed:{hasTemplateId(){return!!parseInt(this.template_id)}},methods:{getDefaultTemplateTitle(){const e=new Date,t=e=>String(e).padStart(2,"0");return`Untitled - Created at ${`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}`}`},createTemplateDraft(){this.hasTemplateId?this.maybeSaveTemplate():(this.loading=!0,this.is_dirty=!1,this.email_template.post_title||(this.email_template.post_title=this.getDefaultTemplateTitle()),this.email_template.design_template||(this.email_template.design_template="simple"),this.$post("templates",{template:JSON.stringify(this.email_template)}).then(e=>{this.$notify.success(e.message),this.$router.push({name:"edit_template",params:{template_id:e.template_id}})}).catch(e=>{console.log(e),this.handleError(e)}).finally(()=>{this.loading=!1}))},fetchSmartCodes(){this.codes_ready=!1,this.$get("templates/smartcodes",{}).then(e=>{this.smart_codes=e.smartcodes}).catch(e=>{console.log(e)}).finally(()=>{this.codes_ready=!0})},fetchTemplate(){this.loading=!0,this.$get(`templates/${this.template_id}`).then(e=>{this.email_template=e.template,this.$nextTick(()=>{this.app_ready=!0,this.prevContent=this.email_template.post_content})}).catch(e=>{console.log(e)}).finally(()=>{this.loading=!1})},saveTemplate(){this.saving=!0,this.is_dirty=!1;let e={};e=parseInt(this.template_id)?this.$post("templates",{template:JSON.stringify(this.email_template),template_id:this.template_id}):this.$post("templates",{template:JSON.stringify(this.email_template)}),this.prevContent=this.email_template.post_content,e.then(e=>{this.$notify.success(e.message),parseInt(this.template_id)||this.$router.push({name:"edit_template",params:{template_id:e.template_id}})}).catch(e=>{console.log(e),this.handleError(e)}).finally(()=>{this.saving=!1})},maybeSaveTemplate(){"visual_builder"==this.email_template.design_template?this.$bus.emit("getVisualData",{}):this.saveTemplate()},handleChangeContent(){this.is_dirty=!0},exportTemplate(){this.has_campaign_pro?location.href=window.ajaxurl+"?"+jQuery.param({action:"fluentcrm_export_template",template_id:this.template_id}):this.$notify.error(this.$t("Template_Export_Alert"))},initKeyboardSave(e){(window.navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),this.maybeSaveTemplate())},handleBeforeUnload(e){if(this.is_dirty&&this.prevContent!==this.email_template.post_content)return e.preventDefault(),e.returnValue="",""}},mounted(){this.fetchSmartCodes(),this.hasTemplateId?this.fetchTemplate():(this.loading=!1,this.app_ready=!0,this.prevContent=this.email_template.post_content),this.changeTitle(this.$t("Edit Template")),document.addEventListener("keydown",this.initKeyboardSave),window.addEventListener("beforeunload",this.handleBeforeUnload)},beforeRouteLeave(e,t,a){if(this.is_dirty&&this.prevContent!=this.email_template.post_content){if(!window.confirm(this.$t("Unsaved_Confirm_Msg")))return!1}this.unmountBlockEditor(),document.removeEventListener("keydown",this.initKeyboardSave),a()},watch:{template_id(e){e&&e>0?this.fetchTemplate():(this.loading=!1,this.app_ready=!0)}}},[["render",function(e,t,v,x,I,D){const V=a,B=l,P=i,Q=g("Icons"),W=g("Download"),Y=m,Z=o,X=s,q=p,z=g("send-test-email"),G=d,ee=h,te=c,ae=_,le=n,ie=g("input-popover"),se=u,oe=g("email-block-composer"),me=r;return f(),y("div",A,[b("div",M,[b("div",U,[0==v.template_id?(f(),y("h3",K,T(e.$t("Create Email Template")),1)):(f(),w(B,{key:1,"separator-icon":I.ArrowRightBold},{default:$(()=>[j(V,{to:{name:"templates"}},{default:$(()=>[k(T(e.$t("Email Templates")),1)],void 0,!0),_:1}),j(V,null,{default:$(()=>[k(T(I.email_template.post_title),1)],void 0,!0),_:1})],void 0),_:1},8,["separator-icon"]))]),b("div",L,[0==v.template_id?(f(),w(P,{key:0,loading:I.loading,onClick:D.createTemplateDraft,type:"primary"},{default:$(()=>[k(T(e.$t("Create Template")),1)],void 0),_:1},8,["loading","onClick"])):(f(),y(C,{key:1},[j(q,{trigger:"click"},{dropdown:$(()=>[j(X,null,{default:$(()=>[j(Z,{class:"fc_dropdown_action"},{default:$(()=>[b("span",{class:"el-popover__reference",onClick:t[0]||(t[0]=e=>D.exportTemplate())},[j(Y,null,{default:$(()=>[j(W)],void 0,!0),_:1}),k(" "+T(e.$t("Export Template")),1)])],void 0,!0),_:1})],void 0,!0),_:1})]),default:$(()=>[j(P,{class:"el-dropdown-link"},{default:$(()=>[k(T(e.$t("More Actions"))+" ",1),b("span",F,[j(Q,{"icon-name":"downIcon"})])],void 0,!0),_:1})],void 0),_:1}),j(z,{campaign:{email_subject:I.email_template.email_subject,email_pre_header:I.email_template.post_excerpt,email_body:I.email_template.post_content,design_template:I.email_template.design_template,settings:I.email_template.settings}},null,8,["campaign"]),j(P,{loading:I.saving,disabled:I.saving,onClick:D.maybeSaveTemplate,type:"primary"},{default:$(()=>[k(T(e.$t("Save Template")),1)],void 0),_:1},8,["loading","disabled","onClick"])],64))])]),S((f(),y("div",J,[I.loading?(f(),y("div",O,[j(G,{class:"el-progress_animated","show-text":!1,percentage:30})])):E("",!0),I.app_ready&&D.hasTemplateId?(f(),y("div",H,[j(se,{"label-position":"top","label-width":"120px",model:I.email_template},{default:$(()=>[j(le,{gutter:30},{default:$(()=>[j(ae,{sm:24,md:12},{default:$(()=>[j(te,{label:e.$t("Template Title")},{default:$(()=>[j(ee,{placeholder:e.$t("Template Title"),modelValue:I.email_template.post_title,"onUpdate:modelValue":t[1]||(t[1]=e=>I.email_template.post_title=e)},null,8,["placeholder","modelValue"])],void 0,!0),_:1},8,["label"])],void 0,!0),_:1})],void 0,!0),_:1}),j(le,{gutter:30},{default:$(()=>[j(ae,{sm:24,md:12},{default:$(()=>[j(te,{label:e.$t("Email Subject")},{default:$(()=>[j(ie,{doc_url:"https://fluentcrm.com/docs/merge-codes-smart-codes-usage/",popper_extra:"fc_with_c_fields",placeholder:e.$t("Email Subject"),data:I.smart_codes,modelValue:I.email_template.email_subject,"onUpdate:modelValue":t[2]||(t[2]=e=>I.email_template.email_subject=e)},null,8,["placeholder","data","modelValue"])],void 0,!0),_:1},8,["label"])],void 0,!0),_:1}),j(ae,{sm:24,md:12},{default:$(()=>[j(te,{label:e.$t("Email Pre-Header")},{default:$(()=>[j(ee,{placeholder:e.$t("Email Pre-Header"),modelValue:I.email_template.post_excerpt,"onUpdate:modelValue":t[3]||(t[3]=e=>I.email_template.post_excerpt=e)},null,8,["placeholder","modelValue"])],void 0,!0),_:1},8,["label"])],void 0,!0),_:1})],void 0,!0),_:1})],void 0),_:1},8,["model"])])):E("",!0),I.app_ready&&!D.hasTemplateId?(f(),y("div",N,[b("h3",null,T(e.$t("Click Create Template to start editing")),1)])):E("",!0),I.app_ready&&I.codes_ready&&D.hasTemplateId?(f(),y("div",R,[j(oe,{onSave:t[4]||(t[4]=e=>D.saveTemplate()),onFetch:t[5]||(t[5]=e=>D.fetchTemplate()),onChanged:t[6]||(t[6]=e=>D.handleChangeContent()),show_merge:!0,enable_templates:!0,enable_template_save:!0,show_audit:!0,iframe_nav_mode:"compose","hide-back-btn":!0,"hide-next-btn":!0,body_key:"post_content",campaign:I.email_template},null,8,["campaign"])])):E("",!0)])),[[me,I.loading]])])}]]);export{Q as default};
|