From 1aa7c404dae63c9518468fe9b579fad819f8d871 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 13 Sep 2026 18:32:43 +0000
Subject: [PATCH] =Single Event page setup done through the new Event block. Currently working on the Simple Calendar block setup
---
build/meta/index.js | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/build/meta/index.js b/build/meta/index.js
index c97a964..9954f0d 100644
--- a/build/meta/index.js
+++ b/build/meta/index.js
@@ -1 +1 @@
-(()=>{"use strict";const e={n:l=>{const t=l&&l.__esModule?()=>l.default:()=>l;return e.d(t,{a:t}),t},d:(l,t)=>{for(var a in t)e.o(t,a)&&!e.o(l,a)&&Object.defineProperty(l,a,{enumerable:!0,get:t[a]})},o:(e,l)=>Object.hasOwn(e,l)},l=window.wp.blocks,t=window.wp.blockEditor,a=window.wp.components,n=window.wp.coreData,i=window.wp.data,s=window.ReactJSXRuntime,o={text:"text",email:"email",tel:"tel",url:"url",number:"number"},r=({field:e,value:l,onChange:t})=>"textarea"===e.type?(0,s.jsx)(a.TextareaControl,{label:e.label,help:e.description,value:l??"",onChange:t,id:e.name}):(0,s.jsx)(a.TextControl,{label:e.label,help:e.description,type:o[e.type]||"text",value:l??"",onChange:t,required:e.required,id:e.name}),d=({field:e,value:l,onChange:t})=>{const n=Object.entries(e.options||{}).map(([e,l])=>({label:l,value:e}));return"radio"===e.type?(0,s.jsx)(a.RadioControl,{label:e.label,help:e.description,selected:l,options:n,onChange:t,id:e.name}):(0,s.jsx)(a.SelectControl,{label:e.label,help:e.description,value:l??"",options:[{label:"— Select —",value:""},...n],onChange:t,id:e.name})},c=({field:e,value:l,onChange:t})=>{const n=Array.isArray(l)?l:[];return(0,s.jsxs)("fieldset",{id:e.name,children:[(0,s.jsx)("legend",{className:"jvb-field-label",children:e.label}),Object.entries(e.options||{}).map(([e,l])=>(0,s.jsx)(a.CheckboxControl,{label:l,checked:n.includes(e),onChange:l=>((e,l)=>{t(l?[...n,e]:n.filter(l=>l!==e))})(e,l)},e))]})},p=window.React,u=e=>{if(!e)return null;const[l,t,a]=e.split("-").map(Number);return new Date(l,t-1,a)},m=e=>{if(e.description&&0!==e.description.length)return(0,s.jsx)("p",{className:"hint",children:e.description})},h=e=>{if(e.description&&0!==e.description.length)return(0,s.jsx)("p",{className:"hint",children:e.description})},b=window.wp.element,v=(e,l,t)=>e?.includes("{{")?e.replace(/{{(.*?)}}/g,(e,t)=>{const a=l[t];return void 0===a?"":Array.isArray(a)?a.join(", "):String(a)}):e,j=window.wp.mediaUtils,x=window.wp.apiFetch;var f=e.n(x);const g={image:"image",video:"video",document:"application",all:""},y=({id:e,onRemove:l})=>{const[t,n]=(0,b.useState)(null);(0,b.useEffect)(()=>{let l=!1;if(e)return f()({path:`/wp/v2/media/${e}`}).then(e=>!l&&n(e)).catch(()=>{}),()=>{l=!0}},[e]);const i=t?.media_details?.sizes?.thumbnail?.source_url||t?.source_url,o="image"===t?.media_type;return(0,s.jsxs)("div",{className:"jvb-upload-thumb",children:[o&&i?(0,s.jsx)("img",{src:i,alt:t?.alt_text||""}):(0,s.jsx)("div",{className:"jvb-upload-thumb-placeholder",children:t?.title?.rendered||`#${e}`}),(0,s.jsx)(a.Button,{variant:"link",isDestructive:!0,onClick:()=>l(e),children:"Remove"})]})},C=window.wp.url,w=e=>e.subtype||e.type,S=(e,l,t)=>"post"===l?{title:t,status:"publish",postType:e.post_type}:{name:t},_=(e,l)=>"user"===l?e.name:e.title?.rendered??e.title??e.name,k=window.wp.compose,N={text:r,email:r,tel:r,url:r,number:r,textarea:r,select:d,radio:d,checkbox:c,set:c,true_false:({field:e,value:l,onChange:t})=>(0,s.jsx)(a.ToggleControl,{label:e.label,help:e.description,checked:!!l,onChange:t,id:e.name}),date:({field:e,value:l,onChange:t})=>(0,s.jsxs)("div",{className:"components-base-control",id:e.name,children:[(0,s.jsx)("label",{className:"components-base-control__label",children:e.label}),(0,s.jsx)(a.DatePicker,{currentDate:u(l),onChange:t,help:e.description}),m(e)]}),time:({field:e,value:l,onChange:t})=>(0,s.jsx)(a.BaseControl,{label:e.label,help:e.description,id:e.name,children:(0,s.jsx)("input",{type:"time",id:e.name,value:l??"",onChange:e=>t(e.target.value)})}),datetime:({field:e,value:l,onChange:t})=>{const[n,i]=(0,p.useState)(new Date);return(0,s.jsxs)("div",{className:"components-base-control",id:e.name,children:[(0,s.jsx)("label",{className:"components-base-control__label",children:e.label}),(0,s.jsx)(a.DateTimePicker,{currentDate:n,onChange:t,label:e.label,help:e.description,value:l??"",is12Hour:!0}),h(e)]})},repeater:({field:e,value:l,onChange:t,meta:n})=>{const i=Array.isArray(l)?l:[],o=e.fields||{},[r,d]=(0,b.useState)(null);return(0,s.jsxs)("div",{className:"jvb-repeater-field",id:e.name,children:[(0,s.jsx)("p",{className:"jvb-field-label",children:e.label}),(0,s.jsx)(a.Panel,{children:i.map((l,c)=>(0,s.jsxs)(a.PanelBody,{title:v(e.row_label,l)||`Row ${c+1}`,initialOpen:r===c,onToggle:()=>d(r===c?null:c),children:[Object.entries(o).map(([e,a])=>(0,s.jsx)(O,{field:{...a,name:e},value:l[e],onChange:l=>((e,l,a)=>{const n=i.map((t,n)=>n===e?{...t,[l]:a}:t);t(n)})(c,e,l),meta:n},e)),(0,s.jsx)(a.Button,{variant:"link",isDestructive:!0,onClick:()=>(e=>t(i.filter((l,t)=>t!==e)))(c),children:"Remove"})]},c))}),(0,s.jsx)(a.Button,{variant:"secondary",onClick:()=>{return t([...i,(e=o,Object.fromEntries(Object.entries(e||{}).map(([e,l])=>[e,l.default??""])))]);var e},children:e.add_label||"Add Row"})]})},upload:({field:e,value:l,onChange:n})=>{const i=e.multiple||"gallery"===e.type,o=i?Array.isArray(l)?l:[]:l,r=g[e.subtype]?[g[e.subtype]]:"",d=e=>{n(i?o.filter(l=>l!==e):0)};return(0,s.jsxs)("div",{className:"jvb-upload-field",id:e.name,children:[(0,s.jsx)("p",{className:"jvb-field-label",children:e.label}),(0,s.jsx)("div",{className:i?"jvb-upload-grid":"jvb-upload-single",children:i?o.map(e=>(0,s.jsx)(y,{id:e,onRemove:d},e)):!!o&&(0,s.jsx)(y,{id:o,onRemove:d})}),(0,s.jsx)(t.MediaUploadCheck,{children:(0,s.jsx)(j.MediaUpload,{onSelect:e=>n(i?e.map(e=>e.id):e.id),allowedTypes:r,multiple:i,value:i?o:o||void 0,render:({open:l})=>(0,s.jsxs)(a.Button,{variant:"secondary",onClick:l,children:[(i?o.length:o)?"Change":"Select"," ",e.label]})})})]})},selector:({field:e,value:l,onChange:t})=>{const n=w(e),i="taxonomy"===n,o=(e=>{const l=w(e);return"user"===l?e=>(0,C.addQueryArgs)("/wp/v2/users",{search:e,per_page:20}):"taxonomy"===l?l=>(0,C.addQueryArgs)(`/wp/v2/${e.taxonomy}`,{search:l,per_page:20,hide_empty:!1}):l=>(0,C.addQueryArgs)("/wp/v2/search",{search:l,type:"post",subtype:e.post_type,per_page:20})})(e),r=Array.isArray(l)?l:l?l.split(","):[],[d,c]=(0,b.useState)([]),[p,u]=(0,b.useState)({}),[m,h]=(0,b.useState)({}),[v,j]=(0,b.useState)(""),[x,g]=(0,b.useState)(!1),y=v?`Not found. Create "${v}"?`:null;(0,b.useEffect)(()=>{k("");let e=!1;if(r.length)return Promise.all(r.map(e=>f()({path:o("")+`&include=${e}`}))).then(l=>{if(e)return;const t={},a=[];l.flat().forEach(e=>{const l=_(e,n);t[l]=e.id,a.push(l)}),u(e=>({...e,...t})),c(a)}).catch(()=>{}),()=>{e=!0};c([])},[JSON.stringify(r)]);const k=(0,b.useCallback)(e=>{j(e),f()({path:o(e)}).then(e=>{const l={};e.forEach(e=>{l[_(e,n)]=e.id}),h(l)}).catch(()=>{})},[o,n]),N=l=>{const a=1===e.max;t(a?l[l.length-1]??0:(e.max?l.slice(0,e.max):l).join(","))},A=v&&!Object.keys(m).some(e=>e.toLowerCase()===v.toLowerCase()),O=1===e.max&&d.length?[]:[...Object.keys(m),...i&&A?[y]:[]];return(0,s.jsx)(a.FormTokenField,{label:e.label,help:e.description,value:d,suggestions:O,onChange:l=>{if(l.find(e=>e===y)&&i&&!x)return g(!0),void f()({path:`/wp/v2/${e.taxonomy}`,method:"POST",data:S(n,v)}).then(e=>{const l=_(e,n),t=d.filter(e=>e!==y).concat(l),a=t.map(t=>p[t]??m[t]??(t===l?e.id:void 0)).filter(e=>void 0!==e);u(t=>({...t,[l]:e.id})),c(t),N(a)}).catch(()=>{}).finally(()=>g(!1));const t=l.filter(e=>void 0!==p[e]||void 0!==m[e]),a=t.map(e=>p[e]??m[e]);c(t),u(e=>({...e,...m})),N(a)},onInputChange:k,maxLength:e.max||void 0,id:e.name,__experimentalExpandOnFocus:!0})},location:({field:e,value:l,onChange:t})=>{const n=l||{},[i,o]=(0,b.useState)(n.address||""),[r,d]=(0,b.useState)([]),[c,p]=(0,b.useState)(!1),u=(0,k.useDebounce)(e=>{if(!e)return d([]);p(!0),f()({path:`jvb/v1/geocode?q=${encodeURIComponent(e)}`}).then(d).finally(()=>p(!1))},400);return(0,s.jsxs)("div",{className:"jvb-location-field",id:e.name,children:[(0,s.jsx)(a.TextControl,{label:e.label,value:i,onChange:e=>{o(e),u(e)}}),c&&(0,s.jsx)(a.Spinner,{}),!!r.length&&(0,s.jsxs)("div",{className:"jvb-location-results",children:[r.map(e=>(0,s.jsx)(a.Button,{variant:"tertiary",onClick:()=>(e=>{const l=e.address||{},a={address:[l.house_number,l.road].filter(Boolean).join(" "),city:l.city||l.town||l.village||"",province:l.state||"",postal_code:l.postcode||"",country:l.country||"",lat:parseFloat(e.lat),lng:parseFloat(e.lng)};t(a),o(a.address),d([])})(e),style:{display:"block",textAlign:"left"},children:e.display_name},e.place_id)),!!n.lat&&(0,s.jsxs)("p",{className:"jvb-location-summary",children:[n.address,", ",n.city,", ",n.province," ",n.postal_code,", ",n.country,(0,s.jsx)("br",{}),(0,s.jsx)(a.Button,{variant:"link",isDestructive:!0,onClick:()=>{t({}),o(""),d([])},children:"Clear"})]})]})]})},group:({field:e,value:l,onChange:t})=>{const a=l||{};return(0,s.jsxs)("div",{className:"jvb-group-field",id:e.name,children:[e.label&&(0,s.jsx)("h4",{className:"components-base-control__label",children:e.label}),Object.entries(e.fields||{}).map(([e,l])=>(0,s.jsx)(O,{field:{...l,name:e},value:a[e],onChange:l=>((e,l)=>{t({...a,[e]:l})})(e,l),meta:a},e)),e.description&&(0,s.jsx)("p",{className:"hint",children:e.description})]})}},A={"=":(e,l)=>e==l,"==":(e,l)=>e==l,"!=":(e,l)=>e!=l,">":(e,l)=>e>l,"<":(e,l)=>e<l,in:(e,l)=>Array.isArray(l)?l.includes(e):String(l).split(",").includes(e)},O=({id:e,field:l,value:t,onChange:n,meta:i})=>{if(!((e,l)=>!e?.field||(A[e.operator]||A["="])(l?.[e.field],e.value))(l.condition,i))return null;const o=N[l.type];return o?(0,s.jsx)(a.PanelRow,{children:(0,s.jsx)(o,{field:l,value:t,onChange:n})}):null},P=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"jvb/meta","version":"0.1.0","title":"Custom Field","category":"jvb","icon":"edit-large","description":"Add a specific field from this content","example":{},"attributes":{"fieldName":{"type":"string","default":""}},"supports":{"align":["wide","full"]},"textdomain":"jvb","selectors":{"root":".jvb-meta"},"editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","viewScript":"file:./view.js"}');(0,l.registerBlockType)(P,{edit:({attributes:e,setAttributes:l})=>{const{fieldName:o}=e,{fields:r}=window.jvbFieldConfig||{},d=(0,i.useSelect)(e=>e("core/editor").getCurrentPostType(),[]),[c,p]=(0,n.useEntityProp)("postType",d,"meta"),u=(r||[]).find(e=>e.name===o),m=(0,t.useBlockProps)();return(0,s.jsxs)("div",{...m,children:[(0,s.jsx)(t.InspectorControls,{children:(0,s.jsx)(a.PanelBody,{title:"Field",children:(0,s.jsx)(a.SelectControl,{label:"Meta field",value:o,options:[{label:"Select a field…",value:""},...(r||[]).map(e=>({label:e.label||e.name,value:e.name}))],onChange:e=>l({fieldName:e})})})}),!u&&(0,s.jsx)(a.Placeholder,{label:"Meta Field",instructions:"Select a field in the block settings."}),u&&(0,s.jsx)(O,{field:u,value:c?.[o],onChange:e=>p({...c,[o]:e}),meta:c})]})},save:()=>null})})();
\ No newline at end of file
+(()=>{"use strict";const e={n:l=>{const t=l&&l.__esModule?()=>l.default:()=>l;return e.d(t,{a:t}),t},d:(l,t)=>{for(var a in t)e.o(t,a)&&!e.o(l,a)&&Object.defineProperty(l,a,{enumerable:!0,get:t[a]})},o:(e,l)=>Object.hasOwn(e,l)},l=window.wp.blocks,t=window.wp.blockEditor,a=window.wp.components,n=window.wp.coreData,i=window.wp.data,s=window.ReactJSXRuntime,o={text:"text",email:"email",tel:"tel",url:"url",number:"number"},r=({field:e,value:l,onChange:t})=>"textarea"===e.type?(0,s.jsx)(a.TextareaControl,{label:e.label,help:e.description,value:l??"",onChange:t,id:e.name}):(0,s.jsx)(a.TextControl,{label:e.label,help:e.description,type:o[e.type]||"text",value:l??"",onChange:t,required:e.required,id:e.name}),d=({field:e,value:l,onChange:t})=>{const n=Object.entries(e.options||{}).map(([e,l])=>({label:l,value:e}));return"radio"===e.type?(0,s.jsx)(a.RadioControl,{label:e.label,help:e.description,selected:l,options:n,onChange:t,id:e.name}):(0,s.jsx)(a.SelectControl,{label:e.label,help:e.description,value:l??"",options:[{label:"— Select —",value:""},...n],onChange:t,id:e.name})},c=({field:e,value:l,onChange:t})=>{const n=Array.isArray(l)?l:[];return(0,s.jsxs)("fieldset",{id:e.name,children:[(0,s.jsx)("legend",{className:"jvb-field-label",children:e.label}),Object.entries(e.options||{}).map(([e,l])=>(0,s.jsx)(a.CheckboxControl,{label:l,checked:n.includes(e),onChange:l=>((e,l)=>{t(l?[...n,e]:n.filter(l=>l!==e))})(e,l)},e))]})},p=e=>{if(!e)return null;const[l,t,a]=e.split("-").map(Number);return l&&t&&a?new Date(l,t-1,a):null},u=e=>{if(e.description&&0!==e.description.length)return(0,s.jsx)("p",{className:"hint",children:e.description})},m=(window.React,e=>{if(e.description&&0!==e.description.length)return(0,s.jsx)("p",{className:"hint",children:e.description})}),h=window.wp.element,b=(e,l,t)=>e?.includes("{{")?e.replace(/{{(.*?)}}/g,(e,t)=>{const a=l[t];return void 0===a?"":Array.isArray(a)?a.join(", "):String(a)}):e,v=window.wp.mediaUtils,j=window.wp.apiFetch;var x=e.n(j);const f={image:"image",video:"video",document:"application",all:""},g=({id:e,onRemove:l})=>{const[t,n]=(0,h.useState)(null);(0,h.useEffect)(()=>{let l=!1;if(e)return x()({path:`/wp/v2/media/${e}`}).then(e=>!l&&n(e)).catch(()=>{}),()=>{l=!0}},[e]);const i=t?.media_details?.sizes?.thumbnail?.source_url||t?.source_url,o="image"===t?.media_type;return(0,s.jsxs)("div",{className:"jvb-upload-thumb",children:[o&&i?(0,s.jsx)("img",{src:i,alt:t?.alt_text||""}):(0,s.jsx)("div",{className:"jvb-upload-thumb-placeholder",children:t?.title?.rendered||`#${e}`}),(0,s.jsx)(a.Button,{variant:"link",isDestructive:!0,onClick:()=>l(e),children:"Remove"})]})},y=window.wp.url,C=e=>e.subtype||e.type,w=(e,l,t)=>"post"===l?{title:t,status:"publish",postType:e.post_type}:{name:t},_=(e,l)=>"user"===l?e.name:e.title?.rendered??e.title??e.name,k=window.wp.compose,N={text:r,email:r,tel:r,url:r,number:r,textarea:r,select:d,radio:d,checkbox:c,set:c,true_false:({field:e,value:l,onChange:t})=>(0,s.jsx)(a.ToggleControl,{label:e.label,help:e.description,checked:!!l,onChange:t,id:e.name}),date:({field:e,value:l,onChange:t})=>(0,s.jsxs)("div",{className:"components-base-control",id:e.name,children:[(0,s.jsx)("label",{className:"components-base-control__label",children:e.label}),(0,s.jsx)(a.DatePicker,{currentDate:p(l),onChange:t,help:e.description}),u(e)]}),time:({field:e,value:l,onChange:t})=>(0,s.jsx)(a.BaseControl,{label:e.label,help:e.description,id:e.name,children:(0,s.jsx)("input",{type:"time",id:e.name,value:l??"",onChange:e=>t(e.target.value)})}),datetime:({field:e,value:l,onChange:t})=>(0,s.jsxs)("div",{className:"components-base-control",id:e.name,children:[(0,s.jsx)("label",{className:"components-base-control__label",children:e.label}),(0,s.jsx)(a.DateTimePicker,{currentDate:l||null,onChange:t,help:e.description,value:l??"",is12Hour:!0}),m(e)]}),repeater:({field:e,value:l,onChange:t,meta:n})=>{const i=Array.isArray(l)?l:[],o=e.fields||{},[r,d]=(0,h.useState)(null);return(0,s.jsxs)("div",{className:"jvb-repeater-field",id:e.name,children:[(0,s.jsx)("p",{className:"jvb-field-label",children:e.label}),(0,s.jsx)(a.Panel,{children:i.map((l,c)=>(0,s.jsxs)(a.PanelBody,{title:b(e.row_label,l)||`Row ${c+1}`,initialOpen:r===c,onToggle:()=>d(r===c?null:c),children:[Object.entries(o).map(([e,a])=>(0,s.jsx)(A,{field:{...a,name:e},value:l[e],onChange:l=>((e,l,a)=>{const n=i.map((t,n)=>n===e?{...t,[l]:a}:t);t(n)})(c,e,l),meta:n},e)),(0,s.jsx)(a.Button,{variant:"link",isDestructive:!0,onClick:()=>(e=>t(i.filter((l,t)=>t!==e)))(c),children:"Remove"})]},c))}),(0,s.jsx)(a.Button,{variant:"secondary",onClick:()=>{return t([...i,(e=o,Object.fromEntries(Object.entries(e||{}).map(([e,l])=>[e,l.default??""])))]);var e},children:e.add_label||"Add Row"})]})},upload:({field:e,value:l,onChange:n})=>{const i=e.multiple||"gallery"===e.type,o=i?"string"==typeof l&&l?l.split(",").map(Number):[]:l,r=f[e.subtype]?[f[e.subtype]]:"",d=e=>{n(i?o.filter(l=>l!==e).join(","):0)};return(0,s.jsxs)("div",{className:"jvb-upload-field",id:e.name,children:[(0,s.jsx)("p",{className:"jvb-field-label",children:e.label}),(0,s.jsx)("div",{className:i?"jvb-upload-grid":"jvb-upload-single",children:i?o.map(e=>(0,s.jsx)(g,{id:e,onRemove:d},e)):!!o&&(0,s.jsx)(g,{id:o,onRemove:d})}),(0,s.jsx)(t.MediaUploadCheck,{children:(0,s.jsx)(v.MediaUpload,{onSelect:e=>n(i?e.map(e=>e.id).join(","):e.id),allowedTypes:r,multiple:i,value:i?o:o||void 0,render:({open:l})=>(0,s.jsxs)(a.Button,{variant:"secondary",onClick:l,children:[(i?o.length:o)?"Change":"Select"," ",e.label]})})})]})},selector:({field:e,value:l,onChange:t})=>{const n=C(e),i="taxonomy"===n,o=(e=>{const l=C(e);return"user"===l?e=>(0,y.addQueryArgs)("/wp/v2/users",{search:e,per_page:20}):"taxonomy"===l?l=>(0,y.addQueryArgs)(`/wp/v2/${e.taxonomy}`,{search:l,per_page:20,hide_empty:!1}):l=>(0,y.addQueryArgs)("/wp/v2/search",{search:l,type:"post",subtype:e.post_type,per_page:20})})(e),r=Array.isArray(l)?l:l?l.split(","):[],[d,c]=(0,h.useState)([]),[p,u]=(0,h.useState)({}),[m,b]=(0,h.useState)({}),[v,j]=(0,h.useState)(""),[f,g]=(0,h.useState)(!1),k=v?`Not found. Create "${v}"?`:null;(0,h.useEffect)(()=>{N("");let e=!1;if(r.length)return Promise.all(r.map(e=>x()({path:o("")+`&include=${e}`}))).then(l=>{if(e)return;const t={},a=[];l.flat().forEach(e=>{const l=_(e,n);t[l]=e.id,a.push(l)}),u(e=>({...e,...t})),c(a)}).catch(()=>{}),()=>{e=!0};c([])},[JSON.stringify(r)]);const N=(0,h.useCallback)(e=>{j(e),x()({path:o(e)}).then(e=>{const l={};e.forEach(e=>{l[_(e,n)]=e.id}),b(l)}).catch(()=>{})},[o,n]),S=l=>{const a=1===e.max;t(a?l[l.length-1]??0:(e.max?l.slice(0,e.max):l).join(","))},A=v&&!Object.keys(m).some(e=>e.toLowerCase()===v.toLowerCase()),O=1===e.max&&d.length?[]:[...Object.keys(m),...i&&A?[k]:[]];return(0,s.jsx)(a.FormTokenField,{label:e.label,help:e.description,value:d,suggestions:O,onChange:l=>{if(l.find(e=>e===k)&&i&&!f)return g(!0),void x()({path:`/wp/v2/${e.taxonomy}`,method:"POST",data:w(e,n,v)}).then(e=>{const l=_(e,n),t=d.filter(e=>e!==k).concat(l),a=t.map(t=>p[t]??m[t]??(t===l?e.id:void 0)).filter(e=>void 0!==e);u(t=>({...t,[l]:e.id})),c(t),S(a)}).catch(()=>{}).finally(()=>g(!1));const t=l.filter(e=>void 0!==p[e]||void 0!==m[e]),a=t.map(e=>p[e]??m[e]);c(t),u(e=>({...e,...m})),S(a)},onInputChange:N,maxLength:e.max||void 0,id:e.name,__experimentalExpandOnFocus:!0})},location:({field:e,value:l,onChange:t})=>{const n=l||{},[i,o]=(0,h.useState)(n.address||""),[r,d]=(0,h.useState)([]),[c,p]=(0,h.useState)(!1),u=(0,k.useDebounce)(e=>{if(!e)return d([]);p(!0),x()({path:`jvb/v1/geocode?q=${encodeURIComponent(e)}`}).then(d).finally(()=>p(!1))},400);return(0,s.jsxs)("div",{className:"jvb-location-field",id:e.name,children:[(0,s.jsx)(a.TextControl,{label:e.label,value:i,onChange:e=>{o(e),u(e)}}),c&&(0,s.jsx)(a.Spinner,{}),!!r.length&&(0,s.jsxs)("div",{className:"jvb-location-results",children:[r.map(e=>(0,s.jsx)(a.Button,{variant:"tertiary",onClick:()=>(e=>{const l=e.address||{},a={address:[l.house_number,l.road].filter(Boolean).join(" "),city:l.city||l.town||l.village||"",province:l.state||"",postal_code:l.postcode||"",country:l.country||"",lat:parseFloat(e.lat),lng:parseFloat(e.lng)};t(a),o(a.address),d([])})(e),style:{display:"block",textAlign:"left"},children:e.display_name},e.place_id)),!!n.lat&&(0,s.jsxs)("p",{className:"jvb-location-summary",children:[n.address,", ",n.city,", ",n.province," ",n.postal_code,", ",n.country,(0,s.jsx)("br",{}),(0,s.jsx)(a.Button,{variant:"link",isDestructive:!0,onClick:()=>{t({}),o(""),d([])},children:"Clear"})]})]})]})},group:({field:e,value:l,onChange:t})=>{const a=l||{};return(0,s.jsxs)("div",{className:"jvb-group-field",id:e.name,children:[e.label&&(0,s.jsx)("h4",{className:"components-base-control__label",children:e.label}),Object.entries(e.fields||{}).map(([e,l])=>(0,s.jsx)(A,{field:{...l,name:e},value:a[e],onChange:l=>((e,l)=>{t({...a,[e]:l})})(e,l),meta:a},e)),e.description&&(0,s.jsx)("p",{className:"hint",children:e.description})]})}},S={"=":(e,l)=>e==l,"==":(e,l)=>e==l,"!=":(e,l)=>e!=l,">":(e,l)=>e>l,"<":(e,l)=>e<l,in:(e,l)=>Array.isArray(l)?l.includes(e):String(l).split(",").includes(e)},A=({id:e,field:l,value:t,onChange:n,meta:i})=>{if(!((e,l)=>!e?.field||(S[e.operator]||S["="])(l?.[e.field],e.value))(l.condition,i))return null;const o=N[l.type];return o?(0,s.jsx)(a.PanelRow,{children:(0,s.jsx)(o,{field:l,value:t,onChange:n})}):null},O=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"jvb/meta","version":"0.1.0","title":"Custom Field","category":"jvb","icon":"edit-large","description":"Add a specific field from this content","example":{},"attributes":{"fieldName":{"type":"string","default":""}},"supports":{"align":["wide","full"]},"textdomain":"jvb","selectors":{"root":".jvb-meta"},"editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","viewScript":"file:./view.js"}');(0,l.registerBlockType)(O,{edit:({attributes:e,setAttributes:l})=>{const{fieldName:o}=e,{fields:r}=window.jvbFieldConfig||{},d=(0,i.useSelect)(e=>e("core/editor").getCurrentPostType(),[]),[c,p]=(0,n.useEntityProp)("postType",d,"meta"),u=(r||[]).find(e=>e.name===o),m=(0,t.useBlockProps)();return(0,s.jsxs)("div",{...m,children:[(0,s.jsx)(t.InspectorControls,{children:(0,s.jsx)(a.PanelBody,{title:"Field",children:(0,s.jsx)(a.SelectControl,{label:"Meta field",value:o,options:[{label:"Select a field…",value:""},...(r||[]).map(e=>({label:e.label||e.name,value:e.name}))],onChange:e=>l({fieldName:e})})})}),!u&&(0,s.jsx)(a.Placeholder,{label:"Meta Field",instructions:"Select a field in the block settings."}),u&&(0,s.jsx)(A,{field:u,value:c?.[o],onChange:e=>p({...c,[o]:e}),meta:c})]})},save:()=>null})})();
\ No newline at end of file
--
Gitblit v1.10.0