@plaudit/gutenberg-api-extensions 2.58.1 → 2.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/blocks/basic-custom-block-bindings-support.d.ts +19 -0
- package/build/blocks/basic-custom-block-bindings-support.js +200 -0
- package/build/blocks/basic-custom-block-bindings-support.js.map +1 -0
- package/build/blocks/index.d.ts +1 -0
- package/build/blocks/index.js +1 -0
- package/build/blocks/index.js.map +1 -1
- package/package.json +1 -1
- package/styles/editor.pcss +10 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { registerBlockBindingsSource } from "@wordpress/blocks";
|
|
2
|
+
export type DbSource = {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
help?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function registerCustomBlockBindingsSource(args: Parameters<typeof registerBlockBindingsSource>[0] & {
|
|
8
|
+
dbSources?: DbSource[];
|
|
9
|
+
}): void;
|
|
10
|
+
declare global {
|
|
11
|
+
interface Window {
|
|
12
|
+
plauditCustomBlockBindingsInformation?: {
|
|
13
|
+
[name in string]: {
|
|
14
|
+
dbSources?: DbSource[];
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export declare function installCustomBlockBindingsSupport(): void;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import apiFetch from "@wordpress/api-fetch";
|
|
3
|
+
import { getBlockBindingsSources, registerBlockBindingsSource } from "@wordpress/blocks";
|
|
4
|
+
import { InspectorAdvancedControls } from "@wordpress/block-editor";
|
|
5
|
+
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, SelectControl, Spinner, TextControl } from '@wordpress/components';
|
|
6
|
+
import { createHigherOrderComponent } from "@wordpress/compose";
|
|
7
|
+
import { select } from "@wordpress/data";
|
|
8
|
+
import { store as editorStore } from "@wordpress/editor";
|
|
9
|
+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "@wordpress/element";
|
|
10
|
+
import { addFilter } from "@wordpress/hooks";
|
|
11
|
+
const BLOCK_BINDINGS_ALLOWED_BLOCKS = {
|
|
12
|
+
'core/paragraph': ['content'],
|
|
13
|
+
'core/heading': ['content'],
|
|
14
|
+
'core/image': ['id', 'url', 'title', 'alt'],
|
|
15
|
+
'core/button': ['url', 'text', 'linkTarget', 'rel']
|
|
16
|
+
};
|
|
17
|
+
export function registerCustomBlockBindingsSource(args) {
|
|
18
|
+
const { dbSources, ...actualArgs } = args;
|
|
19
|
+
registerBlockBindingsSource('getValue' in actualArgs ? actualArgs : { ...actualArgs, getValue: () => ({}) });
|
|
20
|
+
getCustomBlockBindingsInformation()[actualArgs.name] = { dbSources };
|
|
21
|
+
}
|
|
22
|
+
function getCustomBlockBindingsInformation() {
|
|
23
|
+
return window.plauditCustomBlockBindingsInformation ?? (window.plauditCustomBlockBindingsInformation = {});
|
|
24
|
+
}
|
|
25
|
+
export function installCustomBlockBindingsSupport() {
|
|
26
|
+
if (window.plauditCustomBlockBindingsSupportInstalled) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
window.plauditCustomBlockBindingsSupportInstalled = true;
|
|
30
|
+
const selectableOptionsCache = {
|
|
31
|
+
cache: new Map(),
|
|
32
|
+
capacity: 20,
|
|
33
|
+
fetch(current_post, source) {
|
|
34
|
+
const key = `/plaudit/base/v1/custom-bindings/source/options?current_post=${current_post}&source=${source}`;
|
|
35
|
+
if (this.cache.has(key)) {
|
|
36
|
+
const res = this.cache.get(key);
|
|
37
|
+
// This pushes the key to the back of the list
|
|
38
|
+
this.cache.delete(key);
|
|
39
|
+
this.cache.set(key, res);
|
|
40
|
+
return res;
|
|
41
|
+
}
|
|
42
|
+
if (this.cache.size === this.capacity) {
|
|
43
|
+
this.cache.delete(this.cache.keys().next().value);
|
|
44
|
+
}
|
|
45
|
+
const res = apiFetch({ path: "/plaudit/base/v1/custom-bindings/source/options", data: { current_post, source }, method: "POST" });
|
|
46
|
+
this.cache.set(key, res);
|
|
47
|
+
res.catch(() => this.cache.delete(key)); //This is to ensure that we don't cache error responses
|
|
48
|
+
return res;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
addFilter('editor.BlockEdit', 'plaudit/gutenberg-api-extensions/basic-custom-block-bindings-support', createHigherOrderComponent(BlockEdit => (blockEditProps) => {
|
|
52
|
+
const availableBindingsList = BLOCK_BINDINGS_ALLOWED_BLOCKS[blockEditProps.name];
|
|
53
|
+
if (!availableBindingsList?.length) {
|
|
54
|
+
return _jsx(BlockEdit, { ...blockEditProps });
|
|
55
|
+
}
|
|
56
|
+
const { attributes, setAttributes } = blockEditProps;
|
|
57
|
+
const resetAll = useCallback(() => {
|
|
58
|
+
const { metadata: { bindings, ...metadata } = {} } = attributes;
|
|
59
|
+
if (bindings !== undefined) {
|
|
60
|
+
const updatedBindings = Object.entries(bindings).filter(([k]) => !availableBindingsList.includes(k));
|
|
61
|
+
if (updatedBindings.length) {
|
|
62
|
+
setAttributes({ metadata: { ...metadata, bindings: Object.fromEntries(updatedBindings) } });
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
setAttributes({ metadata: !metadata || !Object.keys(metadata).length ? undefined : metadata });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}, [availableBindingsList, attributes, setAttributes]);
|
|
69
|
+
const currentPost = select(editorStore).getCurrentPost();
|
|
70
|
+
const bindingConfigs = useMemo(() => availableBindingsList.map(binding => {
|
|
71
|
+
const onDeselect = () => {
|
|
72
|
+
const { metadata: { bindings, ...metadata } = {} } = attributes;
|
|
73
|
+
if (bindings !== undefined) {
|
|
74
|
+
const updatedBindings = Object.entries(bindings).filter(([k]) => k !== binding);
|
|
75
|
+
if (updatedBindings.length) {
|
|
76
|
+
setAttributes({ metadata: { ...metadata, bindings: Object.fromEntries(updatedBindings) } });
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
setAttributes({ metadata: !metadata || !Object.keys(metadata).length ? undefined : metadata });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
return [
|
|
84
|
+
{ label: binding, hasValue: () => blockEditProps.attributes['metadata']?.['bindings']?.[binding] !== undefined, onDeselect },
|
|
85
|
+
{
|
|
86
|
+
label: binding,
|
|
87
|
+
value: blockEditProps.attributes['metadata']?.['bindings']?.[binding],
|
|
88
|
+
updateBinding: (value) => {
|
|
89
|
+
if (value?.source === undefined) {
|
|
90
|
+
onDeselect();
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const { metadata: { bindings, ...metadata } = {} } = attributes;
|
|
94
|
+
setAttributes({ metadata: { ...metadata, bindings: { ...bindings, [binding]: value } } });
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
currentPost
|
|
98
|
+
}
|
|
99
|
+
];
|
|
100
|
+
}), [availableBindingsList, blockEditProps.attributes, currentPost]);
|
|
101
|
+
return _jsxs(_Fragment, { children: [_jsx(BlockEdit, { ...blockEditProps }), _jsx(InspectorAdvancedControls, { children: _jsx(ToolsPanel, { label: "Custom Block Bindings", resetAll: resetAll, children: bindingConfigs.map(([bindingConfig, bbtConfig]) => _jsx(ToolsPanelItem, { ...bindingConfig, children: _jsx(BlockBindingTool, { ...bbtConfig }) })) }) })] });
|
|
102
|
+
}, 'plauditGutenbergApiExtensionsBasicBlockBindingsSupport'));
|
|
103
|
+
const BlockBindingTool = memo(({ label, value, updateBinding, currentPost }) => {
|
|
104
|
+
const bindingSources = Object.entries(getBlockBindingsSources())
|
|
105
|
+
.filter(([key]) => key !== 'core/pattern-overrides' && key !== 'core/post-meta')
|
|
106
|
+
.map(([key, { label }]) => ({ label, value: key }));
|
|
107
|
+
const [[selectableOptions, dbSources], setSelectableOptions] = useState([[], undefined]);
|
|
108
|
+
const fetchSourceOptionsAbortController = useRef(0);
|
|
109
|
+
const controls = [
|
|
110
|
+
_jsx(SelectControl, { label: "Source", __nextHasNoMarginBottom: true, onChange: source => updateBinding({ source }), options: [
|
|
111
|
+
{
|
|
112
|
+
disabled: true,
|
|
113
|
+
label: "Select a Binding Source",
|
|
114
|
+
value: ''
|
|
115
|
+
},
|
|
116
|
+
...bindingSources
|
|
117
|
+
], value: value?.source ?? '' }, "source")
|
|
118
|
+
];
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
const src = value?.source;
|
|
121
|
+
if (!src) {
|
|
122
|
+
setSelectableOptions([[], undefined]);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
setSelectableOptions(['loading', undefined]);
|
|
126
|
+
const myNumber = ++fetchSourceOptionsAbortController.current;
|
|
127
|
+
selectableOptionsCache.fetch(currentPost, src)
|
|
128
|
+
.then(response => {
|
|
129
|
+
if (fetchSourceOptionsAbortController.current === myNumber) {
|
|
130
|
+
setSelectableOptions([response.map(option => {
|
|
131
|
+
if (typeof option.disabled === 'string') {
|
|
132
|
+
return { ...option, label: `${option.label} (${option.disabled})`, disabled: true };
|
|
133
|
+
}
|
|
134
|
+
return option;
|
|
135
|
+
}), getCustomBlockBindingsInformation()[src]?.dbSources]);
|
|
136
|
+
}
|
|
137
|
+
})
|
|
138
|
+
.catch(err => {
|
|
139
|
+
if (fetchSourceOptionsAbortController.current === myNumber) {
|
|
140
|
+
console.error(err);
|
|
141
|
+
setSelectableOptions([[], undefined]);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}, [value?.source ?? '', currentPost]);
|
|
146
|
+
const subfieldKeys = useMemo(() => {
|
|
147
|
+
if (Array.isArray(selectableOptions)) {
|
|
148
|
+
const key = value?.args?.['key'];
|
|
149
|
+
return key ? selectableOptions.find(option => option.value === key)?.subfields ?? [] : [];
|
|
150
|
+
}
|
|
151
|
+
return [];
|
|
152
|
+
}, [selectableOptions, value?.args?.['key']]);
|
|
153
|
+
if (selectableOptions === 'loading') {
|
|
154
|
+
controls.push(_jsxs("p", { children: [_jsx(Spinner, {}), " Loading Binding Options"] }));
|
|
155
|
+
}
|
|
156
|
+
else if (selectableOptions === 'error') {
|
|
157
|
+
controls.push(_jsx("p", { style: { color: '#CC1818' }, children: "An error occurred while loading binding options" }));
|
|
158
|
+
}
|
|
159
|
+
else if (selectableOptions.length) {
|
|
160
|
+
controls.push(_jsx(SelectControl, { label: "Field", __nextHasNoMarginBottom: true, onChange: key => updateBinding({
|
|
161
|
+
...value,
|
|
162
|
+
args: { key }
|
|
163
|
+
}), options: [
|
|
164
|
+
{
|
|
165
|
+
disabled: true,
|
|
166
|
+
label: "Select a Field",
|
|
167
|
+
value: ''
|
|
168
|
+
},
|
|
169
|
+
...selectableOptions
|
|
170
|
+
], value: value?.args?.['key'] ?? '' }, "field"));
|
|
171
|
+
if (subfieldKeys.length) {
|
|
172
|
+
if (subfieldKeys === 'custom') {
|
|
173
|
+
controls.push(_jsx(TextControl, { label: "Subfield", __nextHasNoMarginBottom: true, onChange: subfield => updateBinding({ ...value, args: { ...value?.args, subfield } }), value: value?.args?.['subfield'] ?? '', help: "Please enter the name of a subfield. You may need to inspect the raw data from this binding to determine the subfield." }, "subfield"));
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
controls.push(_jsx(SelectControl, { label: "Subfield", __nextHasNoMarginBottom: true, onChange: subfield => updateBinding({ ...value, args: { ...value?.args, subfield } }), options: [
|
|
177
|
+
{
|
|
178
|
+
disabled: true,
|
|
179
|
+
label: "Select a Subfield",
|
|
180
|
+
value: ''
|
|
181
|
+
},
|
|
182
|
+
...subfieldKeys
|
|
183
|
+
], value: value?.args?.['subfield'] ?? '' }, "subfield"));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (value?.args?.['key'] && dbSources?.length) {
|
|
187
|
+
controls.push(_jsx(SelectControl, { label: "DB Source", __nextHasNoMarginBottom: true, onChange: db_source => updateBinding({ ...value, args: { ...value?.args, db_source } }), options: dbSources, value: value?.args?.['db_source'] ?? dbSources[0].value, help: dbSources.find(dbs => dbs.value === value?.args?.['db_source'])?.help }, "db-source"));
|
|
188
|
+
}
|
|
189
|
+
else if (value?.args?.['db_source']) {
|
|
190
|
+
const { db_source, ...updatedArgs } = value.args;
|
|
191
|
+
updateBinding({ ...value, args: updatedArgs });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (value?.source) {
|
|
195
|
+
controls.push(_jsx("p", { children: "No Options Found" }));
|
|
196
|
+
}
|
|
197
|
+
return _jsxs("fieldset", { className: "custom-bindings-configuration-chain", style: { border: "revert", padding: "revert", margin: "revert" }, children: [_jsx("legend", { children: label }), controls] });
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=basic-custom-block-bindings-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-custom-block-bindings-support.js","sourceRoot":"","sources":["../../src/blocks/basic-custom-block-bindings-support.tsx"],"names":[],"mappings":"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"}
|
package/build/blocks/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./shared-exportable-types";
|
|
|
4
4
|
export * from "./simple-native-property-api";
|
|
5
5
|
export * from "./snp-data-store";
|
|
6
6
|
export * from "./utilities";
|
|
7
|
+
export { type DbSource, installCustomBlockBindingsSupport, registerCustomBlockBindingsSource } from "./basic-custom-block-bindings-support";
|
|
7
8
|
/**
|
|
8
9
|
* @deprecated use installGutenbergExtensions() instead
|
|
9
10
|
*/
|
package/build/blocks/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./shared-exportable-types";
|
|
|
4
4
|
export * from "./simple-native-property-api";
|
|
5
5
|
export * from "./snp-data-store";
|
|
6
6
|
export * from "./utilities";
|
|
7
|
+
export { installCustomBlockBindingsSupport, registerCustomBlockBindingsSource } from "./basic-custom-block-bindings-support";
|
|
7
8
|
import { installGutenbergExtensions } from "../index";
|
|
8
9
|
/**
|
|
9
10
|
* @deprecated use installGutenbergExtensions() instead
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAC,0BAA0B,EAAC,MAAM,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,+BAA+B;IAC9C,0BAA0B,EAAE,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAgB,iCAAiC,EAAE,iCAAiC,EAAC,MAAM,uCAAuC,CAAC;AAE1I,OAAO,EAAC,0BAA0B,EAAC,MAAM,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,+BAA+B;IAC9C,0BAA0B,EAAE,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
package/styles/editor.pcss
CHANGED
|
@@ -92,3 +92,13 @@
|
|
|
92
92
|
vertical-align: middle;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
+
|
|
96
|
+
.custom-bindings-configuration-chain {
|
|
97
|
+
display: flex;
|
|
98
|
+
gap: 8px;
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
|
|
101
|
+
& > .components-base-control > .components-base-control__field > [data-wp-component="InputBase"] {
|
|
102
|
+
gap: 4px;
|
|
103
|
+
}
|
|
104
|
+
}
|