@wordpress/customize-widgets 4.16.0 → 4.17.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/CHANGELOG.md +2 -0
- package/build/components/block-appender/index.js +6 -8
- package/build/components/block-appender/index.js.map +1 -1
- package/build/components/block-inspector-button/index.js +3 -9
- package/build/components/block-inspector-button/index.js.map +1 -1
- package/build/components/customize-widgets/index.js +4 -12
- package/build/components/customize-widgets/index.js.map +1 -1
- package/build/components/customize-widgets/use-clear-selected-block.js +12 -15
- package/build/components/customize-widgets/use-clear-selected-block.js.map +1 -1
- package/build/components/error-boundary/index.js +1 -14
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/focus-control/index.js +1 -12
- package/build/components/focus-control/index.js.map +1 -1
- package/build/components/focus-control/use-blocks-focus-control.js +3 -9
- package/build/components/focus-control/use-blocks-focus-control.js.map +1 -1
- package/build/components/header/index.js +7 -18
- package/build/components/header/index.js.map +1 -1
- package/build/components/inserter/index.js +1 -10
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/use-inserter.js +1 -6
- package/build/components/inserter/use-inserter.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -9
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +4 -20
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -6
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -16
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/more-menu/index.js +2 -15
- package/build/components/more-menu/index.js.map +1 -1
- package/build/components/sidebar-block-editor/index.js +5 -22
- package/build/components/sidebar-block-editor/index.js.map +1 -1
- package/build/components/sidebar-block-editor/sidebar-adapter.js +13 -75
- package/build/components/sidebar-block-editor/sidebar-adapter.js.map +1 -1
- package/build/components/sidebar-block-editor/sidebar-editor-provider.js +1 -8
- package/build/components/sidebar-block-editor/sidebar-editor-provider.js.map +1 -1
- package/build/components/sidebar-block-editor/use-sidebar-block-editor.js +14 -24
- package/build/components/sidebar-block-editor/use-sidebar-block-editor.js.map +1 -1
- package/build/components/sidebar-controls/index.js +1 -5
- package/build/components/sidebar-controls/index.js.map +1 -1
- package/build/components/welcome-guide/index.js +1 -6
- package/build/components/welcome-guide/index.js.map +1 -1
- package/build/controls/inserter-outer-section.js +15 -24
- package/build/controls/inserter-outer-section.js.map +1 -1
- package/build/controls/inspector-section.js +0 -12
- package/build/controls/inspector-section.js.map +1 -1
- package/build/controls/sidebar-control.js +1 -12
- package/build/controls/sidebar-control.js.map +1 -1
- package/build/controls/sidebar-section.js +3 -14
- package/build/controls/sidebar-section.js.map +1 -1
- package/build/filters/index.js +0 -2
- package/build/filters/index.js.map +1 -1
- package/build/filters/move-to-sidebar.js +7 -17
- package/build/filters/move-to-sidebar.js.map +1 -1
- package/build/filters/replace-media-upload.js +1 -3
- package/build/filters/replace-media-upload.js.map +1 -1
- package/build/filters/wide-widget-display.js +3 -5
- package/build/filters/wide-widget-display.js.map +1 -1
- package/build/index.js +5 -20
- package/build/index.js.map +1 -1
- package/build/lock-unlock.js +1 -2
- package/build/lock-unlock.js.map +1 -1
- package/build/store/actions.js +0 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +0 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/index.js +1 -10
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +0 -5
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +9 -10
- package/build/store/selectors.js.map +1 -1
- package/build/utils.js +8 -18
- package/build/utils.js.map +1 -1
- package/build-module/components/block-appender/index.js +5 -5
- package/build-module/components/block-appender/index.js.map +1 -1
- package/build-module/components/block-inspector-button/index.js +2 -5
- package/build-module/components/block-inspector-button/index.js.map +1 -1
- package/build-module/components/customize-widgets/index.js +4 -4
- package/build-module/components/customize-widgets/index.js.map +1 -1
- package/build-module/components/customize-widgets/use-clear-selected-block.js +13 -12
- package/build-module/components/customize-widgets/use-clear-selected-block.js.map +1 -1
- package/build-module/components/error-boundary/index.js +0 -8
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/focus-control/index.js +1 -8
- package/build-module/components/focus-control/index.js.map +1 -1
- package/build-module/components/focus-control/use-blocks-focus-control.js +3 -4
- package/build-module/components/focus-control/use-blocks-focus-control.js.map +1 -1
- package/build-module/components/header/index.js +8 -11
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/inserter/index.js +1 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/use-inserter.js +1 -3
- package/build-module/components/inserter/use-inserter.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -6
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +5 -13
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +0 -5
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +0 -9
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/more-menu/index.js +2 -6
- package/build-module/components/more-menu/index.js.map +1 -1
- package/build-module/components/sidebar-block-editor/index.js +5 -9
- package/build-module/components/sidebar-block-editor/index.js.map +1 -1
- package/build-module/components/sidebar-block-editor/sidebar-adapter.js +12 -72
- package/build-module/components/sidebar-block-editor/sidebar-adapter.js.map +1 -1
- package/build-module/components/sidebar-block-editor/sidebar-editor-provider.js +1 -2
- package/build-module/components/sidebar-block-editor/sidebar-editor-provider.js.map +1 -1
- package/build-module/components/sidebar-block-editor/use-sidebar-block-editor.js +15 -20
- package/build-module/components/sidebar-block-editor/use-sidebar-block-editor.js.map +1 -1
- package/build-module/components/sidebar-controls/index.js +0 -1
- package/build-module/components/sidebar-controls/index.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +0 -1
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/controls/inserter-outer-section.js +15 -20
- package/build-module/controls/inserter-outer-section.js.map +1 -1
- package/build-module/controls/inspector-section.js +0 -11
- package/build-module/controls/inspector-section.js.map +1 -1
- package/build-module/controls/sidebar-control.js +1 -8
- package/build-module/controls/sidebar-control.js.map +1 -1
- package/build-module/controls/sidebar-section.js +3 -12
- package/build-module/controls/sidebar-section.js.map +1 -1
- package/build-module/filters/index.js.map +1 -1
- package/build-module/filters/move-to-sidebar.js +7 -10
- package/build-module/filters/move-to-sidebar.js.map +1 -1
- package/build-module/filters/replace-media-upload.js +0 -2
- package/build-module/filters/replace-media-upload.js.map +1 -1
- package/build-module/filters/wide-widget-display.js +2 -3
- package/build-module/filters/wide-widget-display.js.map +1 -1
- package/build-module/index.js +5 -10
- package/build-module/index.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/index.js +3 -3
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +1 -3
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +10 -9
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils.js +9 -14
- package/build-module/utils.js.map +1 -1
- package/package.json +22 -22
- package/src/store/selectors.js +10 -2
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = SidebarBlockEditor;
|
|
9
|
-
|
|
10
8
|
var _element = require("@wordpress/element");
|
|
11
|
-
|
|
12
9
|
var _coreData = require("@wordpress/core-data");
|
|
13
|
-
|
|
14
10
|
var _data = require("@wordpress/data");
|
|
15
|
-
|
|
16
11
|
var _blockEditor = require("@wordpress/block-editor");
|
|
17
|
-
|
|
18
12
|
var _mediaUtils = require("@wordpress/media-utils");
|
|
19
|
-
|
|
20
13
|
var _preferences = require("@wordpress/preferences");
|
|
21
|
-
|
|
22
14
|
var _blockInspectorButton = _interopRequireDefault(require("../block-inspector-button"));
|
|
23
|
-
|
|
24
15
|
var _header = _interopRequireDefault(require("../header"));
|
|
25
|
-
|
|
26
16
|
var _useInserter = _interopRequireDefault(require("../inserter/use-inserter"));
|
|
27
|
-
|
|
28
17
|
var _sidebarEditorProvider = _interopRequireDefault(require("./sidebar-editor-provider"));
|
|
29
|
-
|
|
30
18
|
var _welcomeGuide = _interopRequireDefault(require("../welcome-guide"));
|
|
31
|
-
|
|
32
19
|
var _keyboardShortcuts = _interopRequireDefault(require("../keyboard-shortcuts"));
|
|
33
|
-
|
|
34
20
|
var _blockAppender = _interopRequireDefault(require("../block-appender"));
|
|
35
|
-
|
|
36
21
|
/**
|
|
37
22
|
* WordPress dependencies
|
|
38
23
|
*/
|
|
@@ -40,6 +25,7 @@ var _blockAppender = _interopRequireDefault(require("../block-appender"));
|
|
|
40
25
|
/**
|
|
41
26
|
* Internal dependencies
|
|
42
27
|
*/
|
|
28
|
+
|
|
43
29
|
function SidebarBlockEditor({
|
|
44
30
|
blockEditorSettings,
|
|
45
31
|
sidebar,
|
|
@@ -54,7 +40,6 @@ function SidebarBlockEditor({
|
|
|
54
40
|
isWelcomeGuideActive
|
|
55
41
|
} = (0, _data.useSelect)(select => {
|
|
56
42
|
var _select$canUser;
|
|
57
|
-
|
|
58
43
|
const {
|
|
59
44
|
get
|
|
60
45
|
} = select(_preferences.store);
|
|
@@ -67,7 +52,6 @@ function SidebarBlockEditor({
|
|
|
67
52
|
}, []);
|
|
68
53
|
const settings = (0, _element.useMemo)(() => {
|
|
69
54
|
let mediaUploadBlockEditor;
|
|
70
|
-
|
|
71
55
|
if (hasUploadPermissions) {
|
|
72
56
|
mediaUploadBlockEditor = ({
|
|
73
57
|
onError,
|
|
@@ -82,8 +66,8 @@ function SidebarBlockEditor({
|
|
|
82
66
|
});
|
|
83
67
|
};
|
|
84
68
|
}
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
return {
|
|
70
|
+
...blockEditorSettings,
|
|
87
71
|
__experimentalSetIsInserterOpened: setIsInserterOpened,
|
|
88
72
|
mediaUpload: mediaUploadBlockEditor,
|
|
89
73
|
hasFixedToolbar: isFixedToolbarActive,
|
|
@@ -91,13 +75,11 @@ function SidebarBlockEditor({
|
|
|
91
75
|
__unstableHasCustomAppender: true
|
|
92
76
|
};
|
|
93
77
|
}, [hasUploadPermissions, blockEditorSettings, isFixedToolbarActive, keepCaretInsideBlock, setIsInserterOpened]);
|
|
94
|
-
|
|
95
78
|
if (isWelcomeGuideActive) {
|
|
96
79
|
return (0, _element.createElement)(_welcomeGuide.default, {
|
|
97
80
|
sidebar: sidebar
|
|
98
81
|
});
|
|
99
82
|
}
|
|
100
|
-
|
|
101
83
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockEditorKeyboardShortcuts.Register, null), (0, _element.createElement)(_keyboardShortcuts.default.Register, null), (0, _element.createElement)(_sidebarEditorProvider.default, {
|
|
102
84
|
sidebar: sidebar,
|
|
103
85
|
settings: settings
|
|
@@ -117,7 +99,8 @@ function SidebarBlockEditor({
|
|
|
117
99
|
className: "editor-styles-wrapper"
|
|
118
100
|
}, (0, _element.createElement)(_blockEditor.ObserveTyping, null, (0, _element.createElement)(_blockEditor.BlockList, {
|
|
119
101
|
renderAppender: _blockAppender.default
|
|
120
|
-
})))))), (0, _element.createPortal)(
|
|
102
|
+
})))))), (0, _element.createPortal)(
|
|
103
|
+
// This is a temporary hack to prevent button component inside <BlockInspector>
|
|
121
104
|
// from submitting form when type="button" is not specified.
|
|
122
105
|
(0, _element.createElement)("form", {
|
|
123
106
|
onSubmit: event => event.preventDefault()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_element","require","_coreData","_data","_blockEditor","_mediaUtils","_preferences","_blockInspectorButton","_interopRequireDefault","_header","_useInserter","_sidebarEditorProvider","_welcomeGuide","_keyboardShortcuts","_blockAppender","SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","useInserter","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","useSelect","select","_select$canUser","get","preferencesStore","coreStore","canUser","settings","useMemo","mediaUploadBlockEditor","onError","argumentsObject","uploadMedia","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","createElement","default","Fragment","BlockEditorKeyboardShortcuts","Register","undo","redo","save","CopyHandler","BlockTools","__unstableEditorStyles","styles","defaultEditorStyles","BlockSelectionClearer","WritingFlow","className","ObserveTyping","BlockList","renderAppender","BlockAppender","createPortal","onSubmit","event","preventDefault","BlockInspector","contentContainer","__unstableBlockSettingsMenuFirstItem","onClose","closeMenu"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tBlockSelectionClearer,\n\tBlockInspector,\n\tCopyHandler,\n\tObserveTyping,\n\tWritingFlow,\n\tBlockEditorKeyboardShortcuts,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableEditorStyles as EditorStyles,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', 'media' ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t<KeyboardShortcuts.Register />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={ isFixedToolbarActive }\n\t\t\t\t/>\n\n\t\t\t\t<CopyHandler>\n\t\t\t\t\t<BlockTools>\n\t\t\t\t\t\t<EditorStyles styles={ settings.defaultEditorStyles } />\n\t\t\t\t\t\t<BlockSelectionClearer>\n\t\t\t\t\t\t\t<WritingFlow className=\"editor-styles-wrapper\">\n\t\t\t\t\t\t\t\t<ObserveTyping>\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\trenderAppender={ BlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ObserveTyping>\n\t\t\t\t\t\t\t</WritingFlow>\n\t\t\t\t\t\t</BlockSelectionClearer>\n\t\t\t\t\t</BlockTools>\n\t\t\t\t</CopyHandler>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,44 +4,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _utils = require("../../utils");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* Internal dependencies
|
|
12
10
|
*/
|
|
11
|
+
|
|
13
12
|
const {
|
|
14
13
|
wp
|
|
15
14
|
} = window;
|
|
16
|
-
|
|
17
15
|
function parseWidgetId(widgetId) {
|
|
18
16
|
const matches = widgetId.match(/^(.+)-(\d+)$/);
|
|
19
|
-
|
|
20
17
|
if (matches) {
|
|
21
18
|
return {
|
|
22
19
|
idBase: matches[1],
|
|
23
20
|
number: parseInt(matches[2], 10)
|
|
24
21
|
};
|
|
25
|
-
}
|
|
26
|
-
|
|
22
|
+
}
|
|
27
23
|
|
|
24
|
+
// Likely an old single widget.
|
|
28
25
|
return {
|
|
29
26
|
idBase: widgetId
|
|
30
27
|
};
|
|
31
28
|
}
|
|
32
|
-
|
|
33
29
|
function widgetIdToSettingId(widgetId) {
|
|
34
30
|
const {
|
|
35
31
|
idBase,
|
|
36
32
|
number
|
|
37
33
|
} = parseWidgetId(widgetId);
|
|
38
|
-
|
|
39
34
|
if (number) {
|
|
40
35
|
return `widget_${idBase}[${number}]`;
|
|
41
36
|
}
|
|
42
|
-
|
|
43
37
|
return `widget_${idBase}`;
|
|
44
38
|
}
|
|
39
|
+
|
|
45
40
|
/**
|
|
46
41
|
* This is a custom debounce function to call different callbacks depending on
|
|
47
42
|
* whether it's the _leading_ call or not.
|
|
@@ -51,12 +46,9 @@ function widgetIdToSettingId(widgetId) {
|
|
|
51
46
|
* @param {number} timeout The debounced time in milliseconds.
|
|
52
47
|
* @return {Function} The debounced function.
|
|
53
48
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
49
|
function debounce(leading, callback, timeout) {
|
|
57
50
|
let isLeading = false;
|
|
58
51
|
let timerID;
|
|
59
|
-
|
|
60
52
|
function debounced(...args) {
|
|
61
53
|
const result = (isLeading ? callback : leading).apply(this, args);
|
|
62
54
|
isLeading = true;
|
|
@@ -66,15 +58,12 @@ function debounce(leading, callback, timeout) {
|
|
|
66
58
|
}, timeout);
|
|
67
59
|
return result;
|
|
68
60
|
}
|
|
69
|
-
|
|
70
61
|
debounced.cancel = () => {
|
|
71
62
|
isLeading = false;
|
|
72
63
|
clearTimeout(timerID);
|
|
73
64
|
};
|
|
74
|
-
|
|
75
65
|
return debounced;
|
|
76
66
|
}
|
|
77
|
-
|
|
78
67
|
class SidebarAdapter {
|
|
79
68
|
constructor(setting, api) {
|
|
80
69
|
this.setting = setting;
|
|
@@ -84,8 +73,8 @@ class SidebarAdapter {
|
|
|
84
73
|
this.subscribers = new Set();
|
|
85
74
|
this.history = [this._getWidgetIds().map(widgetId => this.getWidget(widgetId))];
|
|
86
75
|
this.historyIndex = 0;
|
|
87
|
-
this.historySubscribers = new Set();
|
|
88
|
-
|
|
76
|
+
this.historySubscribers = new Set();
|
|
77
|
+
// Debounce the input for 1 second.
|
|
89
78
|
this._debounceSetHistory = debounce(this._pushHistory, this._replaceHistory, 1000);
|
|
90
79
|
this.setting.bind(this._handleSettingChange.bind(this));
|
|
91
80
|
this.api.bind('change', this._handleAllSettingsChange.bind(this));
|
|
@@ -93,83 +82,63 @@ class SidebarAdapter {
|
|
|
93
82
|
this.redo = this.redo.bind(this);
|
|
94
83
|
this.save = this.save.bind(this);
|
|
95
84
|
}
|
|
96
|
-
|
|
97
85
|
subscribe(callback) {
|
|
98
86
|
this.subscribers.add(callback);
|
|
99
87
|
return () => {
|
|
100
88
|
this.subscribers.delete(callback);
|
|
101
89
|
};
|
|
102
90
|
}
|
|
103
|
-
|
|
104
91
|
getWidgets() {
|
|
105
92
|
return this.history[this.historyIndex];
|
|
106
93
|
}
|
|
107
|
-
|
|
108
94
|
_emit(...args) {
|
|
109
95
|
for (const callback of this.subscribers) {
|
|
110
96
|
callback(...args);
|
|
111
97
|
}
|
|
112
98
|
}
|
|
113
|
-
|
|
114
99
|
_getWidgetIds() {
|
|
115
100
|
return this.setting.get();
|
|
116
101
|
}
|
|
117
|
-
|
|
118
102
|
_pushHistory() {
|
|
119
103
|
this.history = [...this.history.slice(0, this.historyIndex + 1), this._getWidgetIds().map(widgetId => this.getWidget(widgetId))];
|
|
120
104
|
this.historyIndex += 1;
|
|
121
105
|
this.historySubscribers.forEach(listener => listener());
|
|
122
106
|
}
|
|
123
|
-
|
|
124
107
|
_replaceHistory() {
|
|
125
108
|
this.history[this.historyIndex] = this._getWidgetIds().map(widgetId => this.getWidget(widgetId));
|
|
126
109
|
}
|
|
127
|
-
|
|
128
110
|
_handleSettingChange() {
|
|
129
111
|
if (this.locked) {
|
|
130
112
|
return;
|
|
131
113
|
}
|
|
132
|
-
|
|
133
114
|
const prevWidgets = this.getWidgets();
|
|
134
|
-
|
|
135
115
|
this._pushHistory();
|
|
136
|
-
|
|
137
116
|
this._emit(prevWidgets, this.getWidgets());
|
|
138
117
|
}
|
|
139
|
-
|
|
140
118
|
_handleAllSettingsChange(setting) {
|
|
141
119
|
if (this.locked) {
|
|
142
120
|
return;
|
|
143
121
|
}
|
|
144
|
-
|
|
145
122
|
if (!setting.id.startsWith('widget_')) {
|
|
146
123
|
return;
|
|
147
124
|
}
|
|
148
|
-
|
|
149
125
|
const widgetId = (0, _utils.settingIdToWidgetId)(setting.id);
|
|
150
|
-
|
|
151
126
|
if (!this.setting.get().includes(widgetId)) {
|
|
152
127
|
return;
|
|
153
128
|
}
|
|
154
|
-
|
|
155
129
|
const prevWidgets = this.getWidgets();
|
|
156
|
-
|
|
157
130
|
this._pushHistory();
|
|
158
|
-
|
|
159
131
|
this._emit(prevWidgets, this.getWidgets());
|
|
160
132
|
}
|
|
161
|
-
|
|
162
133
|
_createWidget(widget) {
|
|
163
134
|
const widgetModel = wp.customize.Widgets.availableWidgets.findWhere({
|
|
164
135
|
id_base: widget.idBase
|
|
165
136
|
});
|
|
166
137
|
let number = widget.number;
|
|
167
|
-
|
|
168
138
|
if (widgetModel.get('is_multi') && !number) {
|
|
169
139
|
widgetModel.set('multi_number', widgetModel.get('multi_number') + 1);
|
|
170
140
|
number = widgetModel.get('multi_number');
|
|
171
141
|
}
|
|
172
|
-
|
|
173
142
|
const settingId = number ? `widget_${widget.idBase}[${number}]` : `widget_${widget.idBase}`;
|
|
174
143
|
const settingArgs = {
|
|
175
144
|
transport: wp.customize.Widgets.data.selectiveRefreshableWidgets[widgetModel.get('id_base')] ? 'postMessage' : 'refresh',
|
|
@@ -180,61 +149,51 @@ class SidebarAdapter {
|
|
|
180
149
|
const widgetId = (0, _utils.settingIdToWidgetId)(settingId);
|
|
181
150
|
return widgetId;
|
|
182
151
|
}
|
|
183
|
-
|
|
184
152
|
_removeWidget(widget) {
|
|
185
153
|
const settingId = widgetIdToSettingId(widget.id);
|
|
186
154
|
const setting = this.api(settingId);
|
|
187
|
-
|
|
188
155
|
if (setting) {
|
|
189
156
|
const instance = setting.get();
|
|
190
157
|
this.widgetsCache.delete(instance);
|
|
191
158
|
}
|
|
192
|
-
|
|
193
159
|
this.api.remove(settingId);
|
|
194
160
|
}
|
|
195
|
-
|
|
196
161
|
_updateWidget(widget) {
|
|
197
|
-
const prevWidget = this.getWidget(widget.id);
|
|
162
|
+
const prevWidget = this.getWidget(widget.id);
|
|
198
163
|
|
|
164
|
+
// Bail out update if nothing changed.
|
|
199
165
|
if (prevWidget === widget) {
|
|
200
166
|
return widget.id;
|
|
201
|
-
}
|
|
202
|
-
|
|
167
|
+
}
|
|
203
168
|
|
|
169
|
+
// Update existing setting if only the widget's instance changed.
|
|
204
170
|
if (prevWidget.idBase && widget.idBase && prevWidget.idBase === widget.idBase) {
|
|
205
171
|
const settingId = widgetIdToSettingId(widget.id);
|
|
206
172
|
this.api(settingId).set(widget.instance);
|
|
207
173
|
return widget.id;
|
|
208
|
-
}
|
|
209
|
-
|
|
174
|
+
}
|
|
210
175
|
|
|
176
|
+
// Otherwise delete and re-create.
|
|
211
177
|
this._removeWidget(widget);
|
|
212
|
-
|
|
213
178
|
return this._createWidget(widget);
|
|
214
179
|
}
|
|
215
|
-
|
|
216
180
|
getWidget(widgetId) {
|
|
217
181
|
if (!widgetId) {
|
|
218
182
|
return null;
|
|
219
183
|
}
|
|
220
|
-
|
|
221
184
|
const {
|
|
222
185
|
idBase,
|
|
223
186
|
number
|
|
224
187
|
} = parseWidgetId(widgetId);
|
|
225
188
|
const settingId = widgetIdToSettingId(widgetId);
|
|
226
189
|
const setting = this.api(settingId);
|
|
227
|
-
|
|
228
190
|
if (!setting) {
|
|
229
191
|
return null;
|
|
230
192
|
}
|
|
231
|
-
|
|
232
193
|
const instance = setting.get();
|
|
233
|
-
|
|
234
194
|
if (this.widgetsCache.has(instance)) {
|
|
235
195
|
return this.widgetsCache.get(instance);
|
|
236
196
|
}
|
|
237
|
-
|
|
238
197
|
const widget = {
|
|
239
198
|
id: widgetId,
|
|
240
199
|
idBase,
|
|
@@ -244,7 +203,6 @@ class SidebarAdapter {
|
|
|
244
203
|
this.widgetsCache.set(instance, widget);
|
|
245
204
|
return widget;
|
|
246
205
|
}
|
|
247
|
-
|
|
248
206
|
_updateWidgets(nextWidgets) {
|
|
249
207
|
this.locked = true;
|
|
250
208
|
const addedWidgetIds = [];
|
|
@@ -253,9 +211,7 @@ class SidebarAdapter {
|
|
|
253
211
|
addedWidgetIds.push(null);
|
|
254
212
|
return this._updateWidget(nextWidget);
|
|
255
213
|
}
|
|
256
|
-
|
|
257
214
|
const widgetId = this._createWidget(nextWidget);
|
|
258
|
-
|
|
259
215
|
addedWidgetIds.push(widgetId);
|
|
260
216
|
return widgetId;
|
|
261
217
|
});
|
|
@@ -265,69 +221,51 @@ class SidebarAdapter {
|
|
|
265
221
|
this.locked = false;
|
|
266
222
|
return addedWidgetIds;
|
|
267
223
|
}
|
|
268
|
-
|
|
269
224
|
setWidgets(nextWidgets) {
|
|
270
225
|
const addedWidgetIds = this._updateWidgets(nextWidgets);
|
|
271
|
-
|
|
272
226
|
this._debounceSetHistory();
|
|
273
|
-
|
|
274
227
|
return addedWidgetIds;
|
|
275
228
|
}
|
|
229
|
+
|
|
276
230
|
/**
|
|
277
231
|
* Undo/Redo related features
|
|
278
232
|
*/
|
|
279
|
-
|
|
280
|
-
|
|
281
233
|
hasUndo() {
|
|
282
234
|
return this.historyIndex > 0;
|
|
283
235
|
}
|
|
284
|
-
|
|
285
236
|
hasRedo() {
|
|
286
237
|
return this.historyIndex < this.history.length - 1;
|
|
287
238
|
}
|
|
288
|
-
|
|
289
239
|
_seek(historyIndex) {
|
|
290
240
|
const currentWidgets = this.getWidgets();
|
|
291
241
|
this.historyIndex = historyIndex;
|
|
292
242
|
const widgets = this.history[this.historyIndex];
|
|
293
|
-
|
|
294
243
|
this._updateWidgets(widgets);
|
|
295
|
-
|
|
296
244
|
this._emit(currentWidgets, this.getWidgets());
|
|
297
|
-
|
|
298
245
|
this.historySubscribers.forEach(listener => listener());
|
|
299
|
-
|
|
300
246
|
this._debounceSetHistory.cancel();
|
|
301
247
|
}
|
|
302
|
-
|
|
303
248
|
undo() {
|
|
304
249
|
if (!this.hasUndo()) {
|
|
305
250
|
return;
|
|
306
251
|
}
|
|
307
|
-
|
|
308
252
|
this._seek(this.historyIndex - 1);
|
|
309
253
|
}
|
|
310
|
-
|
|
311
254
|
redo() {
|
|
312
255
|
if (!this.hasRedo()) {
|
|
313
256
|
return;
|
|
314
257
|
}
|
|
315
|
-
|
|
316
258
|
this._seek(this.historyIndex + 1);
|
|
317
259
|
}
|
|
318
|
-
|
|
319
260
|
subscribeHistory(listener) {
|
|
320
261
|
this.historySubscribers.add(listener);
|
|
321
262
|
return () => {
|
|
322
263
|
this.historySubscribers.delete(listener);
|
|
323
264
|
};
|
|
324
265
|
}
|
|
325
|
-
|
|
326
266
|
save() {
|
|
327
267
|
this.api.previewer.save();
|
|
328
268
|
}
|
|
329
|
-
|
|
330
269
|
}
|
|
331
|
-
|
|
332
270
|
exports.default = SidebarAdapter;
|
|
333
271
|
//# sourceMappingURL=sidebar-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"names":["wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"names":["_utils","require","wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","settingIdToWidgetId","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory","exports","default"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = SidebarEditorProvider;
|
|
9
|
-
|
|
10
8
|
var _element = require("@wordpress/element");
|
|
11
|
-
|
|
12
9
|
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
-
|
|
14
10
|
var _useSidebarBlockEditor = _interopRequireDefault(require("./use-sidebar-block-editor"));
|
|
15
|
-
|
|
16
11
|
var _useBlocksFocusControl = _interopRequireDefault(require("../focus-control/use-blocks-focus-control"));
|
|
17
|
-
|
|
18
12
|
var _lockUnlock = require("../../lock-unlock");
|
|
19
|
-
|
|
20
13
|
/**
|
|
21
14
|
* WordPress dependencies
|
|
22
15
|
*/
|
|
@@ -24,10 +17,10 @@ var _lockUnlock = require("../../lock-unlock");
|
|
|
24
17
|
/**
|
|
25
18
|
* Internal dependencies
|
|
26
19
|
*/
|
|
20
|
+
|
|
27
21
|
const {
|
|
28
22
|
ExperimentalBlockEditorProvider
|
|
29
23
|
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
30
|
-
|
|
31
24
|
function SidebarEditorProvider({
|
|
32
25
|
sidebar,
|
|
33
26
|
settings,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_useSidebarBlockEditor","_interopRequireDefault","_useBlocksFocusControl","_lockUnlock","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","SidebarEditorProvider","sidebar","settings","children","blocks","onInput","onChange","useSidebarBlockEditor","useBlocksFocusControl","_element","createElement","value","useSubRegistry"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-editor-provider.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useSidebarBlockEditor from './use-sidebar-block-editor';\nimport useBlocksFocusControl from '../focus-control/use-blocks-focus-control';\n\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\n\nexport default function SidebarEditorProvider( {\n\tsidebar,\n\tsettings,\n\tchildren,\n} ) {\n\tconst [ blocks, onInput, onChange ] = useSidebarBlockEditor( sidebar );\n\n\tuseBlocksFocusControl( blocks );\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t{ children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,MAAM;EAAEK;AAAgC,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE7D,SAASC,qBAAqBA,CAAE;EAC9CC,OAAO;EACPC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAG,IAAAC,8BAAqB,EAAEN,OAAQ,CAAC;EAEtE,IAAAO,8BAAqB,EAAEJ,MAAO,CAAC;EAE/B,OACC,IAAAK,QAAA,CAAAC,aAAA,EAACb,+BAA+B;IAC/Bc,KAAK,EAAGP,MAAQ;IAChBC,OAAO,EAAGA,OAAS;IACnBC,QAAQ,EAAGA,QAAU;IACrBJ,QAAQ,EAAGA,QAAU;IACrBU,cAAc,EAAG;EAAO,GAEtBT,QAC8B,CAAC;AAEpC"}
|