From 32ce5c542c90be348895328078e392dde2052957 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 04 Sep 2026 19:15:16 +0000
Subject: [PATCH] =Working at adding defined fields to a dedicated panel in the gutenberg editor. Registrar now has AddCustomFields.php, which currently only supports post fields. Added a @wordpress/plugins base _meta/fields in /build and /src that successfully creates a panel. Next steps: determine sections and fields, group fields by section (each section to a panel), and save output
---
build/drawer-menu/index.js | 346 ---------------------------------------------------------
1 files changed, 1 insertions(+), 345 deletions(-)
diff --git a/build/drawer-menu/index.js b/build/drawer-menu/index.js
index 00008f0..5b32978 100644
--- a/build/drawer-menu/index.js
+++ b/build/drawer-menu/index.js
@@ -1,345 +1 @@
-/******/ (() => { // webpackBootstrap
-/******/ "use strict";
-/******/ var __webpack_modules__ = ({
-
-/***/ "./src/drawer-menu/edit.js"
-/*!*********************************!*\
- !*** ./src/drawer-menu/edit.js ***!
- \*********************************/
-(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ Edit)
-/* harmony export */ });
-/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
-/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
-/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
-/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
-
-
-
-function Edit({
- attributes,
- setAttributes
-}) {
- const {
- menuId,
- collapsed
- } = attributes;
- const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps)();
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
- children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.InspectorControls, {
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.PanelBody, {
- title: "Drawer Settings",
- children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.TextControl, {
- label: "Menu ID",
- value: menuId,
- onChange: value => setAttributes({
- menuId: value
- }),
- help: "PHP-generated menu identifier"
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.ToggleControl, {
- label: "Start Collapsed",
- checked: collapsed,
- onChange: value => setAttributes({
- collapsed: value
- })
- })]
- })
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
- ...blockProps,
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
- className: "drawer-menu-preview",
- children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("p", {
- children: ["Drawer Menu: ", menuId || 'Not configured']
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("p", {
- children: ["State: ", collapsed ? 'Collapsed' : 'Expanded']
- })]
- })
- })]
- });
-}
-
-/***/ },
-
-/***/ "./src/drawer-menu/index.js"
-/*!**********************************!*\
- !*** ./src/drawer-menu/index.js ***!
- \**********************************/
-(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
-/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit */ "./src/drawer-menu/edit.js");
-/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./save */ "./src/drawer-menu/save.js");
-/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ "./src/drawer-menu/style.scss");
-/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/drawer-menu/editor.scss");
-
-
-
-
-
-(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)('jvb/drawer-menu', {
- edit: _edit__WEBPACK_IMPORTED_MODULE_1__["default"],
- save: _save__WEBPACK_IMPORTED_MODULE_2__["default"]
-});
-
-/***/ },
-
-/***/ "./src/drawer-menu/save.js"
-/*!*********************************!*\
- !*** ./src/drawer-menu/save.js ***!
- \*********************************/
-(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ save)
-/* harmony export */ });
-function save() {
- return null; // Server-side rendered
-}
-
-/***/ },
-
-/***/ "./src/drawer-menu/editor.scss"
-/*!*************************************!*\
- !*** ./src/drawer-menu/editor.scss ***!
- \*************************************/
-(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-
-__webpack_require__.r(__webpack_exports__);
-// extracted by mini-css-extract-plugin
-
-
-/***/ },
-
-/***/ "./src/drawer-menu/style.scss"
-/*!************************************!*\
- !*** ./src/drawer-menu/style.scss ***!
- \************************************/
-(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-
-__webpack_require__.r(__webpack_exports__);
-// extracted by mini-css-extract-plugin
-
-
-/***/ },
-
-/***/ "react/jsx-runtime"
-/*!**********************************!*\
- !*** external "ReactJSXRuntime" ***!
- \**********************************/
-(module) {
-
-module.exports = window["ReactJSXRuntime"];
-
-/***/ },
-
-/***/ "@wordpress/block-editor"
-/*!*************************************!*\
- !*** external ["wp","blockEditor"] ***!
- \*************************************/
-(module) {
-
-module.exports = window["wp"]["blockEditor"];
-
-/***/ },
-
-/***/ "@wordpress/blocks"
-/*!********************************!*\
- !*** external ["wp","blocks"] ***!
- \********************************/
-(module) {
-
-module.exports = window["wp"]["blocks"];
-
-/***/ },
-
-/***/ "@wordpress/components"
-/*!************************************!*\
- !*** external ["wp","components"] ***!
- \************************************/
-(module) {
-
-module.exports = window["wp"]["components"];
-
-/***/ }
-
-/******/ });
-/************************************************************************/
-/******/ // The module cache
-/******/ var __webpack_module_cache__ = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/ // Check if module is in cache
-/******/ var cachedModule = __webpack_module_cache__[moduleId];
-/******/ if (cachedModule !== undefined) {
-/******/ return cachedModule.exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = __webpack_module_cache__[moduleId] = {
-/******/ // no module.id needed
-/******/ // no module.loaded needed
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ if (!(moduleId in __webpack_modules__)) {
-/******/ delete __webpack_module_cache__[moduleId];
-/******/ var e = new Error("Cannot find module '" + moduleId + "'");
-/******/ e.code = 'MODULE_NOT_FOUND';
-/******/ throw e;
-/******/ }
-/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = __webpack_modules__;
-/******/
-/************************************************************************/
-/******/ /* webpack/runtime/chunk loaded */
-/******/ (() => {
-/******/ var deferred = [];
-/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
-/******/ if(chunkIds) {
-/******/ priority = priority || 0;
-/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
-/******/ deferred[i] = [chunkIds, fn, priority];
-/******/ return;
-/******/ }
-/******/ var notFulfilled = Infinity;
-/******/ for (var i = 0; i < deferred.length; i++) {
-/******/ var [chunkIds, fn, priority] = deferred[i];
-/******/ var fulfilled = true;
-/******/ for (var j = 0; j < chunkIds.length; j++) {
-/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
-/******/ chunkIds.splice(j--, 1);
-/******/ } else {
-/******/ fulfilled = false;
-/******/ if(priority < notFulfilled) notFulfilled = priority;
-/******/ }
-/******/ }
-/******/ if(fulfilled) {
-/******/ deferred.splice(i--, 1)
-/******/ var r = fn();
-/******/ if (r !== undefined) result = r;
-/******/ }
-/******/ }
-/******/ return result;
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/compat get default export */
-/******/ (() => {
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = (module) => {
-/******/ var getter = module && module.__esModule ?
-/******/ () => (module['default']) :
-/******/ () => (module);
-/******/ __webpack_require__.d(getter, { a: getter });
-/******/ return getter;
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/define property getters */
-/******/ (() => {
-/******/ // define getter functions for harmony exports
-/******/ __webpack_require__.d = (exports, definition) => {
-/******/ for(var key in definition) {
-/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
-/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
-/******/ }
-/******/ }
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/hasOwnProperty shorthand */
-/******/ (() => {
-/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
-/******/ })();
-/******/
-/******/ /* webpack/runtime/make namespace object */
-/******/ (() => {
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = (exports) => {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/jsonp chunk loading */
-/******/ (() => {
-/******/ // no baseURI
-/******/
-/******/ // object to store loaded and loading chunks
-/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
-/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
-/******/ var installedChunks = {
-/******/ "drawer-menu/index": 0,
-/******/ "drawer-menu/style-index": 0
-/******/ };
-/******/
-/******/ // no chunk on demand loading
-/******/
-/******/ // no prefetching
-/******/
-/******/ // no preloaded
-/******/
-/******/ // no HMR
-/******/
-/******/ // no HMR manifest
-/******/
-/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
-/******/
-/******/ // install a JSONP callback for chunk loading
-/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
-/******/ var [chunkIds, moreModules, runtime] = data;
-/******/ // add "moreModules" to the modules object,
-/******/ // then flag all "chunkIds" as loaded and fire callback
-/******/ var moduleId, chunkId, i = 0;
-/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
-/******/ for(moduleId in moreModules) {
-/******/ if(__webpack_require__.o(moreModules, moduleId)) {
-/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
-/******/ }
-/******/ }
-/******/ if(runtime) var result = runtime(__webpack_require__);
-/******/ }
-/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
-/******/ for(;i < chunkIds.length; i++) {
-/******/ chunkId = chunkIds[i];
-/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
-/******/ installedChunks[chunkId][0]();
-/******/ }
-/******/ installedChunks[chunkId] = 0;
-/******/ }
-/******/ return __webpack_require__.O(result);
-/******/ }
-/******/
-/******/ var chunkLoadingGlobal = globalThis["webpackChunkjvb"] = globalThis["webpackChunkjvb"] || [];
-/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
-/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
-/******/ })();
-/******/
-/************************************************************************/
-/******/
-/******/ // startup
-/******/ // Load entry module and return exports
-/******/ // This entry module depends on other loaded chunks and execution need to be delayed
-/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["drawer-menu/style-index"], () => (__webpack_require__("./src/drawer-menu/index.js")))
-/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
-/******/
-/******/ })()
-;
-//# sourceMappingURL=index.js.map
\ No newline at end of file
+(()=>{"use strict";var e={582(){const e=window.wp.blocks,n=window.wp.blockEditor,t=window.wp.components,r=window.ReactJSXRuntime;(0,e.registerBlockType)("jvb/drawer-menu",{edit:function({attributes:e,setAttributes:o}){const{menuId:s,collapsed:l}=e,i=(0,n.useBlockProps)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.InspectorControls,{children:(0,r.jsxs)(t.PanelBody,{title:"Drawer Settings",children:[(0,r.jsx)(t.TextControl,{label:"Menu ID",value:s,onChange:e=>o({menuId:e}),help:"PHP-generated menu identifier"}),(0,r.jsx)(t.ToggleControl,{label:"Start Collapsed",checked:l,onChange:e=>o({collapsed:e})})]})}),(0,r.jsx)("div",{...i,children:(0,r.jsxs)("div",{className:"drawer-menu-preview",children:[(0,r.jsxs)("p",{children:["Drawer Menu: ",s||"Not configured"]}),(0,r.jsxs)("p",{children:["State: ",l?"Collapsed":"Expanded"]})]})})]})},save:function(){return null}})}};const n={};function t(r){const o=n[r];if(void 0!==o)return o.exports;const s=n[r]={exports:{}};return e[r](s,s.exports,t),s.exports}t.m=e,(()=>{const e=[];t.O=(n,r,o,s)=>{if(r){s||=0;for(var l=e.length;l>0&&e[l-1][2]>s;l--)e[l]=e[l-1];return void(e[l]=[r,o,s])}let i=1/0;for(l=0;l<e.length;l++){let[r,o,s]=e[l],d=!0;for(var c=0;c<r.length;c++)1&s&&!(i>=s)||!Object.keys(t.O).every(e=>t.O[e](r[c]))?(d=!1,s<i&&(i=s)):r.splice(c--,1);if(d){e.splice(l--,1);const t=o();void 0!==t&&(n=t)}}return n}})(),t.o=(e,n)=>Object.hasOwn(e,n),(()=>{const e={121:0,397:0};t.O.j=n=>0===e[n];const n=(n,r)=>{let[o,s,l]=r;var i,c,d=0;if(o.some(n=>0!==e[n])){for(i in s)t.o(s,i)&&(t.m[i]=s[i]);if(l)var a=l(t)}for(n&&n(r);d<o.length;d++)c=o[d],t.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return t.O(a)},r=globalThis.webpackChunkjvb||=[];r.forEach(n.bind(null,0)),r.push=n.bind(null,r.push.bind(r))})();let r=t.O(void 0,[397],()=>t(582));r=t.O(r)})();
\ No newline at end of file
--
Gitblit v1.10.0