email-editor
3 months ago
email-editor-blocks
1 month ago
email_editor_integration
1 month ago
marketing-optin-block
4 months ago
skins
2 months ago
admin.js
1 month ago
admin.js.LICENSE.txt
2 years ago
admin_vendor.js
1 month ago
automation.js
1 month ago
automation_analytics.js
1 month ago
automation_editor.js
1 month ago
automation_flow_embed.js
1 month ago
automation_preview_embed.js
1 month ago
automation_templates.js
1 month ago
commons.js
1 month ago
commons.js.LICENSE.txt
2 months ago
custom_fields.js
1 month ago
form_editor.asset.json
1 month ago
form_editor.js
1 month ago
form_editor.js.LICENSE.txt
1 month ago
form_preview.js
4 months ago
haw.js
3 months ago
index.php
3 years ago
mailpoet.js
2 months ago
mailpoet.js.LICENSE.txt
3 years ago
manifest.json
1 month ago
newsletter_editor.js
1 month ago
newsletter_editor.js.LICENSE.txt
1 month ago
post_editor_block.js
1 month ago
post_editor_block.js.LICENSE.txt
3 years ago
public.js
1 month ago
public.js.LICENSE.txt
3 months ago
public.min.js
1 month ago
public.min.js.LICENSE.txt
1 month ago
runtime.js
1 month ago
settings.js
1 month ago
tags.js
1 month ago
vendor.js
2 months ago
custom_fields.js
1 lines
| 1 | "use strict";(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[766],{49321(e,t,a){var l=a(79124),s=a(68350),i=a(75245),r=a(7378),o=a(69139),n=a(14755),m=a(94779),c=a(90708),d=a(35011),u=a(3354),p=a(60505),_=a(45187),f=a(13911),h=a(37059),b=a(64929),g=a(69611),y=a(96563),x=a(5272),S=a(86106);function w({customField:e,dateSettings:t,onClose:a,onSuccess:l}){const[s,i]=(0,r.useState)(()=>e?(0,x.VR)(e,t):(0,x.uS)(t)),[n,m]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null);return(0,S.jsx)(_.A,{title:e?(0,o.__)("Edit custom field","mailpoet"):(0,o.__)("Add new custom field","mailpoet"),onRequestClose:a,className:"mailpoet-custom-fields-form-modal",focusOnMount:!0,children:(0,S.jsxs)("form",{onSubmit:async function(t){t.preventDefault();const a=(0,x._J)(s);if(a)d(a);else{m(!0),d(null);try{const t=(0,x.WD)(s);l(e?await(0,y.Xt)(e.id,t):await(0,y.AA)(t))}catch(e){const t=e;d(t?.message||(0,o.__)("Something went wrong. Please try again.","mailpoet"))}finally{m(!1)}}},children:[(0,S.jsx)(x.bV,{data:s,dateSettings:t,disabled:n,onChange:i}),c&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(f.A,{marginTop:4}),(0,S.jsx)("div",{className:"mailpoet-custom-fields-form-error",role:"alert",children:c})]}),(0,S.jsx)(f.A,{marginTop:6}),(0,S.jsxs)(h.A,{justify:"flex-end",gap:3,children:[(0,S.jsx)(b.A,{children:(0,S.jsx)(g.Ay,{variant:"tertiary",onClick:a,disabled:n,__next40pxDefaultSize:!0,children:(0,o.__)("Cancel","mailpoet")})}),(0,S.jsx)(b.A,{children:(0,S.jsx)(g.Ay,{variant:"primary",type:"submit",isBusy:n,disabled:n,__next40pxDefaultSize:!0,children:e?(0,o.__)("Save custom field","mailpoet"):(0,o.__)("Create custom field","mailpoet")})})]})]})})}var v=a(99952);const j={text:(0,o.__)("Text","mailpoet"),textarea:(0,o.__)("Textarea","mailpoet"),radio:(0,o.__)("Radio buttons","mailpoet"),checkbox:(0,o.__)("Checkbox","mailpoet"),select:(0,o.__)("Select","mailpoet"),date:(0,o.__)("Date","mailpoet")},A=[{id:"name",label:(0,o.__)("Name","mailpoet"),type:"text",enableGlobalSearch:!0,enableSorting:!0,filterBy:!1},{id:"label",label:(0,o.__)("Label","mailpoet"),type:"text",enableGlobalSearch:!1,enableSorting:!1,filterBy:!1,render:({item:e})=>(0,r.createElement)("span",null,e.label||"—")},{id:"type",label:(0,o.__)("Type","mailpoet"),type:"text",enableGlobalSearch:!1,enableSorting:!0,elements:Object.entries(j).map(([e,t])=>({value:e,label:t})),filterBy:{operators:["isAny"]},render:({item:e})=>(0,r.createElement)("span",null,j[e.type]??e.type)},{id:"required",label:(0,o.__)("Required","mailpoet"),type:"text",enableGlobalSearch:!1,enableSorting:!1,filterBy:!1,render:({item:e})=>(0,r.createElement)("span",null,e.required?(0,o.__)("Yes","mailpoet"):(0,o.__)("No","mailpoet"))},{id:"subscribers_count",label:(0,o.__)("Subscribers","mailpoet"),type:"integer",enableGlobalSearch:!1,enableSorting:!0,filterBy:!1,render:({item:e})=>(0,r.createElement)("span",null,e.subscribers_count.toLocaleString())},{id:"forms_count",label:(0,o.__)("Forms","mailpoet"),type:"integer",enableGlobalSearch:!1,enableSorting:!1,filterBy:!1,render:({item:e})=>(0,r.createElement)("span",null,e.forms_count.toLocaleString())},{id:"dynamic_segments_count",label:(0,o.__)("Segments","mailpoet"),type:"integer",enableGlobalSearch:!1,enableSorting:!1,filterBy:!1,render:({item:e})=>(0,r.createElement)("span",null,e.dynamic_segments_count.toLocaleString())},{id:"created_at",label:(0,o.__)("Created","mailpoet"),type:"datetime",enableGlobalSearch:!1,enableSorting:!0,filterBy:!1,render:({item:e})=>(0,r.createElement)("span",null,e.created_at?(0,v.dateI18n)("M j, Y",e.created_at,void 0):"")}],C="type";function k(e){const t={};return(e??[]).forEach(e=>{if(e.field===C){const l=(a=e.value,Array.isArray(a)?a.map(e=>String(e).trim()).filter(e=>""!==e):[]);l.length>0&&(t.type=l)}var a}),t}function P(e){const t=[];return e.type&&e.type.length>0&&t.push({field:C,operator:"isAny",value:e.type}),t}const E=["text","textarea","radio","checkbox","select","date"];function N(e){if(!e)return;const t=Number(e);return!Number.isInteger(t)||t<1?void 0:t}function T(e){if(e)return Math.min(e,100)}const B={type:"table",perPage:20,page:1,sort:{field:"name",direction:"asc"},fields:["label","type","required","subscribers_count","forms_count","dynamic_segments_count","created_at"],titleField:"name",showTitle:!0};function F(){const e=(0,r.useMemo)(()=>function(e){const t=new URL(e).searchParams,a=t.get("search")?.trim(),l="trash"===t.get("group")?"trash":"all",s={},i=(r=t.get("type"))?r.split(",").map(e=>e.trim()).filter(e=>E.includes(e)):[];var r;return i.length>0&&(s.type=i),{page:N(t.get("cf_page"))??1,perPage:T(N(t.get("per_page"))),search:a||void 0,group:l,filter:s}}(window.location.href),[]),[t,a]=(0,r.useState)(e.group),[l,s]=(0,r.useState)(!1),[i,_]=(0,r.useState)(null),[f,h]=(0,r.useState)([]),[b,g]=(0,r.useState)(null),[x,v]=(0,r.useState)(null),[j]=(0,r.useState)(()=>{const t=(0,p.Aq)("custom-fields",B,A);return{...t,page:e.page,perPage:e.perPage??t.perPage,search:e.search,filters:P(e.filter)}}),C=(0,r.useRef)(!1),F=(0,r.useCallback)(async e=>{const a=await(0,y.Vg)({search:"string"==typeof e.search?e.search:"",orderby:e.orderby??"name",order:e.order??"asc",page:e.page,per_page:e.per_page,group:t,filter:e.filter});return{items:a.items,meta:a.meta,groups:a.groups}},[t]),R=(0,r.useCallback)(e=>({filter:k(e.filters)}),[]),{view:L,setView:M,items:I,meta:D,groups:G,isLoading:V,error:q,onChangeView:O,refresh:$,clearError:z}=(0,p.i7)({initialView:j,load:F,extraParams:R}),J=(0,r.useCallback)(e=>{const t=JSON.stringify(e.filters??[])!==JSON.stringify(L.filters??[]);O(t?{...e,page:1}:e)},[O,L.filters]),U=(0,p.wh)("custom-fields",L,J);(0,r.useEffect)(()=>{if(!C.current)return void(C.current=!0);const e=function(e,t,a,l){const s=new URL(e),i=t.search?.trim();return s.searchParams.set("page","mailpoet-custom-fields"),s.searchParams.delete("search"),s.searchParams.delete("group"),s.searchParams.delete("type"),i&&s.searchParams.set("search",i),"trash"===a&&s.searchParams.set("group","trash"),l.type&&l.type.length>0&&s.searchParams.set("type",l.type.join(",")),s.searchParams.set("cf_page",String(t.page??1)),s.searchParams.set("per_page",String(T(t.perPage??20)??20)),s.href}(window.location.href,L,t,k(L.filters));window.history.replaceState({},"",e)},[L,t]);const X=(0,r.useCallback)(async(e,t,a=t.length)=>{if(0!==a){if("delete"===e||"empty_trash"===e){const t="empty_trash"===e?(0,o.sprintf)((0,o._n)("Permanently delete %d custom field from the trash? It will be removed from subscribers, forms, and dynamic segments.","Permanently delete %d custom fields from the trash? They will be removed from subscribers, forms, and dynamic segments.",a,"mailpoet"),a):(0,o.sprintf)((0,o._n)("Permanently delete %d custom field? It will be removed from subscribers, forms, and dynamic segments.","Permanently delete %d custom fields? They will be removed from subscribers, forms, and dynamic segments.",a,"mailpoet"),a);if(!window.confirm(t))return}try{const a=await(0,y.XE)(e,t);h([]),v(function(e,t){return"trash"===e?1===t?(0,o.__)("1 custom field was moved to the trash.","mailpoet"):(0,o.sprintf)((0,o._n)("%d custom field was moved to the trash.","%d custom fields were moved to the trash.",t,"mailpoet"),t):"restore"===e?1===t?(0,o.__)("1 custom field has been restored from the trash.","mailpoet"):(0,o.sprintf)((0,o._n)("%d custom field has been restored from the trash.","%d custom fields have been restored from the trash.",t,"mailpoet"),t):1===t?(0,o.__)("1 custom field was permanently deleted.","mailpoet"):(0,o.sprintf)((0,o._n)("%d custom field was permanently deleted.","%d custom fields were permanently deleted.",t,"mailpoet"),t)}(e,a)),$()}catch(e){const t=e;g(t?.message||(0,o.__)("The bulk action could not be completed.","mailpoet"))}}},[$]),Y=(0,r.useCallback)(async e=>{try{const t=await(0,y.Rl)(e.id);h([]),a("all"),v((0,o.sprintf)((0,o.__)('Custom field "%s" duplicated.',"mailpoet"),t.name)),$()}catch(e){const t=e;g(t?.message||(0,o.__)("The custom field could not be duplicated.","mailpoet"))}},[$]),H=(0,r.useMemo)(()=>[{id:"edit",label:(0,o.__)("Edit","mailpoet"),isPrimary:!0,icon:"edit",supportsBulk:!1,isEligible:e=>!e.deleted_at,callback:e=>{const[t]=e;t&&_(t)}},{id:"duplicate",label:(0,o.__)("Duplicate","mailpoet"),isEligible:e=>!e.deleted_at,callback:e=>{const[t]=e;t&&Y(t)}},{id:"trash",label:(0,o.__)("Move to trash","mailpoet"),supportsBulk:!0,isEligible:e=>!e.deleted_at,callback:e=>{X("trash",e.map(e=>e.id))}},{id:"restore",label:(0,o.__)("Restore","mailpoet"),supportsBulk:!0,isEligible:e=>!!e.deleted_at,callback:e=>{X("restore",e.map(e=>e.id))}},{id:"delete",label:(0,o.__)("Delete permanently","mailpoet"),supportsBulk:!0,isDestructive:!0,isEligible:e=>!!e.deleted_at,callback:e=>{X("delete",e.map(e=>e.id))}}],[X,Y]),Q=(0,r.useMemo)(()=>({totalItems:D.count,totalPages:D.pages}),[D]),W=(0,r.useMemo)(()=>{const e={all:null,trash:null};return(G??[]).forEach(t=>{"all"!==t.name&&"trash"!==t.name||(e[t.name]=t.count)}),e},[G]),K=(0,r.useMemo)(()=>[{name:"all",label:(0,o.__)("All","mailpoet")},{name:"trash",label:(0,o.__)("Trash","mailpoet")}].map(e=>({name:e.name,title:null===W[e.name]?e.label:`${e.label} (${W[e.name]})`,className:`mailpoet-dataviews-group-${e.name}`})),[W]),Z="trash"===t?(0,o.__)("Trash is empty.","mailpoet"):(0,o.__)("No custom fields yet.","mailpoet"),ee=(0,r.useMemo)(()=>({dateTypes:window.mailpoet_custom_fields_date_types??[],dateFormats:window.mailpoet_custom_fields_date_formats??{}}),[]);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(u.x,{}),(0,S.jsx)(d.z,{heading:(0,o.__)("Custom Fields","mailpoet"),headingPrefix:(0,S.jsx)(d.o,{href:(0,y.$m)(),label:(0,o.__)("Subscribers","mailpoet"),"aria-label":(0,o.__)("Back to subscribers list","mailpoet")}),children:(0,S.jsx)("button",{type:"button",className:"page-title-action",onClick:()=>s(!0),"data-automation-id":"add-new-custom-field-button",children:(0,o.__)("Add new custom field","mailpoet")})}),q&&(0,S.jsx)(n.A,{status:"error",onRemove:z,children:"Failed to load data."===q?(0,o.__)("Failed to load custom fields.","mailpoet"):q}),b&&(0,S.jsx)(n.A,{status:"error",onRemove:()=>g(null),children:b}),x&&(0,S.jsx)(n.A,{status:"success",onRemove:()=>v(null),children:x}),(0,S.jsx)(m.A,{className:"mailpoet-custom-fields-dataviews__tabs",activeClass:"is-active",tabs:K,initialTabName:t,onSelect:e=>{"all"!==e&&"trash"!==e||e!==t&&(a(e),h([]),g(null),v(null),M(e=>({...e,page:1})))},children:()=>(0,S.jsx)("div",{className:"mailpoet-dataviews mailpoet-custom-fields-dataviews",children:(0,S.jsxs)(c.A,{data:I,fields:A,view:L,onChangeView:U,actions:H,paginationInfo:Q,defaultLayouts:{table:{}},getItemId:e=>String(e.id),selection:f,onChangeSelection:h,isLoading:V,empty:(0,S.jsx)("div",{children:Z}),children:[(0,S.jsxs)("div",{className:"mailpoet-custom-fields-dataviews__toolbar",children:[(0,S.jsx)(c.A.Search,{label:(0,o.__)("Search custom fields","mailpoet")}),(0,S.jsx)(c.A.FiltersToggle,{}),(0,S.jsx)("div",{className:"mailpoet-dataviews__toolbar-end",children:(0,S.jsx)(c.A.ViewConfig,{})})]}),(0,S.jsx)("div",{className:"mailpoet-dataviews__filters",children:(0,S.jsx)(c.A.Filters,{})}),"trash"===t&&(W.trash??0)>0&&(0,S.jsx)("div",{className:"mailpoet-custom-fields-dataviews__toolbar",children:(0,S.jsx)("button",{type:"button",className:"button","data-automation-id":"empty_trash_custom_fields",onClick:()=>{X("empty_trash",[],W.trash??0)},children:(0,o.__)("Empty Trash","mailpoet")})}),(0,S.jsx)(c.A.Layout,{}),(0,S.jsx)(c.A.Footer,{})]})})}),l&&(0,S.jsx)(w,{dateSettings:ee,onClose:()=>s(!1),onSuccess:e=>{s(!1),v((0,o.sprintf)((0,o.__)('Custom field "%s" created.',"mailpoet"),e.name)),a("all"),h([]),M(e=>({...e,page:1})),$()}}),i&&(0,S.jsx)(w,{customField:i,dateSettings:ee,onClose:()=>_(null),onSuccess:e=>{_(null),v((0,o.sprintf)((0,o.__)('Custom field "%s" updated.',"mailpoet"),e.name)),$()}})]})}function R(){return(0,S.jsx)(s.F.Provider,{value:(0,s.f)(window),children:(0,S.jsx)(i.ErrorBoundary,{children:(0,S.jsx)(F,{})})})}const L=document.getElementById("mailpoet_custom_fields_container");L&&((0,i.registerTranslations)(),(0,l.H)(L).render((0,S.jsx)(R,{})))},41669(e){e.exports=jQuery}},e=>{e.O(0,[223],()=>e(e.s=49321)),e.O()}]); |