-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblock-editor.js
70 lines (63 loc) · 1.98 KB
/
block-editor.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
(() => {
"use strict";
const { ToggleControl, TextControl } = wp.components;
const { useSelect, useDispatch } = wp.data;
const { Fragment } = wp.element;
// Define base component properties for new panel
const newPanel = {
name: "jf-conversion-tracking-panel",
title: "Conversion Tracking"
};
// Define settings component for new panel
const newPanelSettings = {
render: function () {
const meta = useSelect((select) => select('core/editor').getEditedPostAttribute('meta'), []);
const { editPost } = useDispatch('core/editor');
const updateMeta = (key, value) => {
console.log('Updating meta:', key, value); // Debug log
editPost({
meta: {
...meta,
[key]: value
}
});
};
return wp.element.createElement(
Fragment,
null,
wp.element.createElement(ToggleControl, {
label: "Enable Conversion Tracking",
checked: !!meta.enable_conversion_tracking,
onChange: (value) => updateMeta('enable_conversion_tracking', value)
}),
!!meta.enable_conversion_tracking && wp.element.createElement(
Fragment,
null,
wp.element.createElement(TextControl, {
label: "Conversion Tracking Label",
value: meta.conversion_tracking_label || '',
onChange: (value) => updateMeta('conversion_tracking_label', value)
}),
wp.element.createElement(TextControl, {
label: "Conversion Tracking Value",
value: meta.conversion_tracking_value || '',
onChange: (value) => updateMeta('conversion_tracking_value', value)
}),
wp.element.createElement(TextControl, {
label: "Google Ads Conversion ID",
value: meta.google_ads_conversion_id || '',
onChange: (value) => updateMeta('google_ads_conversion_id', value)
})
)
);
}
};
// Register the new panel
wp.hooks.addFilter("jet.fb.register.plugin.jf-actions-panel.after", "jet-form-builder", function (plugins) {
plugins.push({
base: newPanel,
settings: newPanelSettings
});
return plugins;
});
})();