From eef16f5a0f5af0aea313e411534643678ba4bea1 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 06 Sep 2026 20:58:21 +0000
Subject: [PATCH] =Polishing up the gutenberg sidebar for custom meta. Seems to be working more or less. Added integration with OpenStreetMaps for location fields. Still to add: row ordering for repeaters, Maybe a better view for the selector field (terms, posts, etc), ensure fields save correctly and repopulate.
---
src/editor-fields/SidePanel.js | 30 +++++++++++-------------------
1 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/src/editor-fields/SidePanel.js b/src/editor-fields/SidePanel.js
index a877ef5..8a4006d 100644
--- a/src/editor-fields/SidePanel.js
+++ b/src/editor-fields/SidePanel.js
@@ -2,7 +2,6 @@
import { compose } from '@wordpress/compose';
import { withSelect, withDispatch } from '@wordpress/data';
import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/editor';
-import { PanelBody, PanelRow, TextControl, DateTimePicker } from '@wordpress/components';
import { useEntityProp } from '@wordpress/core-data';
import Section from './Section';
@@ -12,16 +11,11 @@
</svg>
);
const SidePanel = ( { postType, metaFields, setMetaFields } ) => {
- const { content, fields, sections, base } = window.jvbFieldConfig || {};
- const [meta, setMeta] = useEntityProp('postType', content, 'meta');
+ const { fields, sections } = window.jvbFieldConfig || {};
+
+ const [meta, setMeta] = useEntityProp('postType', postType, 'meta');
if (!fields || !fields.length) return null;
-
- console.log(fields);
- console.log(sections);
-
-
-
return (
<>
<PluginSidebarMoreMenuItem
@@ -36,17 +30,16 @@
title="Additional Fields"
>
{
- Object.values(sections).map((section, index) => (
-
- <Section
- id={section.slug}
+ Object.values(sections).map((section, index) => {
+ return <Section
+ key={section.id}
name={section.title}
- fields={filterFields({section, fields, base})}
+ fields={filterFields({section, fields})}
meta={meta}
setMeta={setMeta}
isOpen={testOpen(index)}
- />
- ))
+ />;
+ })
}
</PluginSidebar>
</>
@@ -68,9 +61,8 @@
}
} );
-const filterFields = ({section, fields, base}) => {
- const sectionFields = section.fields.map(f => base+f);
- return fields.filter(item => sectionFields.includes(item.name))
+const filterFields = ({section, fields}) => {
+ return fields.filter(item => section.fields.includes(item.name))
};
const testOpen = (index) => {
--
Gitblit v1.10.0