2 lines
6.2 KiB
JavaScript
2 lines
6.2 KiB
JavaScript
import{aZ as t,a_ as e,k as a,ay as i,av as r,aD as s,aA as o,aw as l,e as n,aK as d,aL as p,az as c,ax as m,ap as _}from"../../../../vendor-element-plus.js?ver=3.1.8";import{aQ as g,W as u,X as v,Z as h,ab as y,a5 as f,a9 as b,aa as j,a6 as $,a8 as P,J as w,az as k,Y as E,av as x}from"../../../../vendor.js?ver=3.1.8";import{E as C}from"../../../../BlockComposer.js?ver=3.1.8";import{_ as S}from"../../../../fc-bits-ui.js?ver=3.1.8";import"../../../../input-popover-dropdown.js?ver=3.1.8";import"../../../../_FormBuilder2.js?ver=3.1.8";import"../../../../PhotoWidget.js?ver=3.1.8";import"../../../../data_config.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"../../../../EmailPreview.js?ver=3.1.8";import"../../../../PreviewIframeBuilder.js?ver=3.1.8";import"../../../../TestEmail.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";const V={class:"fluentcrm-templates fluentcrm-view-wrapper fluentcrm_view fcrm_edit_template_page fcrm_sticky_block_composer_page"},D={class:"fcrm_page_header_top_nav_wrapper"},B={class:"fcrm_page_header_top_nav"},A={class:"fcrm_page_header_top_actions"},F={class:"fluentcrm_body fluentcrm_body_boxed",style:{position:"relative"}},T={key:0,class:"fc_loading_bar"},z={key:1,style:{padding:"40px","text-align":"center"}},I={key:2},R={class:"fcrm_mt_20"},U={style:{"font-size":"12px",color:"var(--fc-secondary-text)",margin:"4px 0 0","padding-inline-start":"24px"}},L={key:3,style:{margin:"0 -20px"}};const N=S({name:"EditPattern",props:["pattern_id"],components:{EmailBlockComposer:C},data:()=>({ArrowRightBold:x(_),pattern:{id:0,title:"",content:"",category:"",description:"",sync_status:""},campaignData:{id:0,title:"",email_body:"",design_template:"simple",__fcrm_block_type:"email_pattern",settings:{template_config:{}}},editorFeatures:{email_style_settings:!1,email_footer:!1,email_preview:!1,save_as_template:!1,browse_templates:!1,smartcodes:!1,design_switcher:!1},categories:[],loading:!0,saving:!1,app_ready:!1,loadError:null}),computed:{isSynced:{get(){return"unsynced"!==this.pattern.sync_status},set(t){this.pattern.sync_status=t?"":"unsynced"}}},methods:{fetchCategories(){this.$get("email-patterns/categories").then(t=>{this.categories=t.categories||[]}).catch(()=>{})},fetchPattern(){this.loading=!0,this.loadError=null,this.$get(`email-patterns/${this.pattern_id}`).then(t=>{const e=t.pattern||t;this.pattern={id:e.id,title:e.title||"",content:e.content||"",category:e.category||"",description:e.description||"",sync_status:e.sync_status||""},this.campaignData.id=e.id||0,this.campaignData.title=e.title||"",this.campaignData.email_body=e.content||"",this.$nextTick(()=>{this.app_ready=!0})}).catch(t=>{this.loadError=this.$t("Failed to load pattern. Please try again."),this.handleError(t)}).finally(()=>{this.loading=!1})},savePattern(){this.pattern.title?(this.saving=!0,this.$put(`email-patterns/${this.pattern.id}`,{title:this.pattern.title,content:this.campaignData.email_body,category:this.pattern.category||"",sync_status:this.pattern.sync_status}).then(t=>{this.campaignData.title=this.pattern.title,this.$notify.success(t.message)}).catch(t=>{this.handleError(t)}).finally(()=>{this.saving=!1})):this.$notify.error(this.$t("Pattern name is required"))}},mounted(){this.fetchPattern(),this.fetchCategories(),this.changeTitle(this.$t("Edit Pattern"))}},[["render",function(_,x,C,S,N,W){const Z=t,q=e,J=a,K=r,M=n,O=l,Q=o,X=p,Y=d,G=c,H=s,tt=m,et=g("email-block-composer"),at=i;return u(),v("div",V,[h("div",D,[h("div",B,[y(q,{"separator-icon":N.ArrowRightBold},{default:f(()=>[y(Z,{to:{name:"email_patterns"}},{default:f(()=>[b(j(_.$t("Email Patterns")),1)],void 0,!0),_:1}),y(Z,null,{default:f(()=>[b(j(N.pattern.title||_.$t("Edit Pattern")),1)],void 0,!0),_:1})],void 0),_:1},8,["separator-icon"])]),h("div",A,[y(J,{loading:N.saving,disabled:N.saving,onClick:W.savePattern,type:"primary"},{default:f(()=>[b(j(_.$t("Save Pattern")),1)],void 0),_:1},8,["loading","disabled","onClick"])])]),$((u(),v("div",F,[N.loading?(u(),v("div",T,[y(K,{class:"el-progress_animated","show-text":!1,percentage:30})])):P("",!0),N.loadError?(u(),v("div",z,[h("p",null,j(N.loadError),1),y(J,{type:"primary",onClick:x[0]||(x[0]=t=>W.fetchPattern())},{default:f(()=>[b(j(_.$t("Retry")),1)],void 0),_:1})])):P("",!0),N.app_ready?(u(),v("div",I,[y(tt,{"label-position":"top"},{default:f(()=>[y(H,{gutter:30},{default:f(()=>[y(Q,{sm:24,md:8},{default:f(()=>[y(O,{label:_.$t("Pattern Name")},{default:f(()=>[y(M,{placeholder:_.$t("Pattern Name"),modelValue:N.pattern.title,"onUpdate:modelValue":x[1]||(x[1]=t=>N.pattern.title=t)},null,8,["placeholder","modelValue"])],void 0,!0),_:1},8,["label"])],void 0,!0),_:1}),y(Q,{sm:24,md:8},{default:f(()=>[y(O,{label:_.$t("Category")},{default:f(()=>[y(Y,{modelValue:N.pattern.category,"onUpdate:modelValue":x[2]||(x[2]=t=>N.pattern.category=t),filterable:"","allow-create":"",clearable:"","default-first-option":"",placeholder:_.$t("Select or create"),style:{width:"100%"},onClear:x[3]||(x[3]=t=>N.pattern.category="")},{default:f(()=>[(u(!0),v(w,null,k(N.categories,t=>(u(),E(X,{key:t,label:t,value:t},null,8,["label","value"]))),128))],void 0,!0),_:1},8,["modelValue","placeholder"])],void 0,!0),_:1},8,["label"])],void 0,!0),_:1}),y(Q,{sm:24,md:8},{default:f(()=>[h("div",R,[y(G,{modelValue:W.isSynced,"onUpdate:modelValue":x[4]||(x[4]=t=>W.isSynced=t)},{default:f(()=>[b(j(_.$t("Synced Pattern")),1)],void 0,!0),_:1},8,["modelValue"]),h("p",U,j(W.isSynced?_.$t("Changes here update all emails using this pattern."):_.$t("Inserted as a copy — emails get their own independent version.")),1)])],void 0,!0),_:1})],void 0,!0),_:1})],void 0),_:1})])):P("",!0),N.app_ready?(u(),v("div",L,[y(et,{onSave:x[5]||(x[5]=t=>W.savePattern()),iframe_nav_mode:"compose","hide-back-btn":!0,"hide-next-btn":!0,"disable-gutenberg-autosave":!0,campaign:N.campaignData,features:N.editorFeatures},null,8,["campaign","features"])])):P("",!0)])),[[at,N.loading]])])}]]);export{N as default};
|