@wordpress/edit-post 6.2.0 → 6.3.0
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/sidebar/post-link/index.js +1 -1
- package/build/components/sidebar/post-link/index.js.map +1 -1
- package/build/components/visual-editor/index.js +3 -3
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/editor.js +3 -2
- package/build/editor.js.map +1 -1
- package/build/index.js +3 -0
- package/build/index.js.map +1 -1
- package/build/index.native.js +3 -0
- package/build/index.native.js.map +1 -1
- package/build/store/actions.js +76 -49
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +7 -10
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +0 -80
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +86 -25
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/sidebar/post-link/index.js +1 -1
- package/build-module/components/sidebar/post-link/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +3 -3
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/editor.js +2 -2
- package/build-module/editor.js.map +1 -1
- package/build-module/index.js +3 -0
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +3 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/store/actions.js +71 -45
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js +7 -10
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +1 -77
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +82 -23
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +0 -3
- package/build-style/style.css +0 -3
- package/package.json +27 -26
- package/src/components/sidebar/post-link/index.js +1 -1
- package/src/components/visual-editor/index.js +5 -3
- package/src/editor.js +3 -2
- package/src/index.js +3 -0
- package/src/index.native.js +3 -0
- package/src/store/actions.js +47 -15
- package/src/store/index.js +7 -11
- package/src/store/reducer.js +1 -74
- package/src/store/selectors.js +121 -51
- package/src/store/test/actions.js +30 -33
- package/src/store/test/reducer.js +0 -126
- package/src/store/test/selectors.js +0 -155
- package/src/style.scss +0 -4
- package/build/store/defaults.js +0 -15
- package/build/store/defaults.js.map +0 -1
- package/build-module/store/defaults.js +0 -8
- package/build-module/store/defaults.js.map +0 -1
- package/src/store/defaults.js +0 -7
|
@@ -111,26 +111,52 @@ export function togglePublishSidebar() {
|
|
|
111
111
|
* @return {Object} Action object.
|
|
112
112
|
*/
|
|
113
113
|
|
|
114
|
-
export
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
114
|
+
export const toggleEditorPanelEnabled = panelName => _ref3 => {
|
|
115
|
+
var _registry$select$get;
|
|
116
|
+
|
|
117
|
+
let {
|
|
118
|
+
registry
|
|
119
|
+
} = _ref3;
|
|
120
|
+
const inactivePanels = (_registry$select$get = registry.select(preferencesStore).get('core/edit-post', 'inactivePanels')) !== null && _registry$select$get !== void 0 ? _registry$select$get : [];
|
|
121
|
+
const isPanelInactive = !!(inactivePanels !== null && inactivePanels !== void 0 && inactivePanels.includes(panelName)); // If the panel is inactive, remove it to enable it, else add it to
|
|
122
|
+
// make it inactive.
|
|
123
|
+
|
|
124
|
+
let updatedInactivePanels;
|
|
125
|
+
|
|
126
|
+
if (isPanelInactive) {
|
|
127
|
+
updatedInactivePanels = inactivePanels.filter(invactivePanelName => invactivePanelName !== panelName);
|
|
128
|
+
} else {
|
|
129
|
+
updatedInactivePanels = [...inactivePanels, panelName];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
registry.dispatch(preferencesStore).set('core/edit-post', 'inactivePanels', updatedInactivePanels);
|
|
133
|
+
};
|
|
120
134
|
/**
|
|
121
|
-
*
|
|
135
|
+
* Opens a closed panel and closes an open panel.
|
|
122
136
|
*
|
|
123
137
|
* @param {string} panelName A string that identifies the panel to open or close.
|
|
124
|
-
*
|
|
125
|
-
* @return {Object} Action object.
|
|
126
138
|
*/
|
|
127
139
|
|
|
128
|
-
export
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
140
|
+
export const toggleEditorPanelOpened = panelName => _ref4 => {
|
|
141
|
+
var _registry$select$get2;
|
|
142
|
+
|
|
143
|
+
let {
|
|
144
|
+
registry
|
|
145
|
+
} = _ref4;
|
|
146
|
+
const openPanels = (_registry$select$get2 = registry.select(preferencesStore).get('core/edit-post', 'openPanels')) !== null && _registry$select$get2 !== void 0 ? _registry$select$get2 : [];
|
|
147
|
+
const isPanelOpen = !!(openPanels !== null && openPanels !== void 0 && openPanels.includes(panelName)); // If the panel is open, remove it to close it, else add it to
|
|
148
|
+
// make it open.
|
|
149
|
+
|
|
150
|
+
let updatedOpenPanels;
|
|
151
|
+
|
|
152
|
+
if (isPanelOpen) {
|
|
153
|
+
updatedOpenPanels = openPanels.filter(openPanelName => openPanelName !== panelName);
|
|
154
|
+
} else {
|
|
155
|
+
updatedOpenPanels = [...openPanels, panelName];
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
registry.dispatch(preferencesStore).set('core/edit-post', 'openPanels', updatedOpenPanels);
|
|
159
|
+
};
|
|
134
160
|
/**
|
|
135
161
|
* Returns an action object used to remove a panel from the editor.
|
|
136
162
|
*
|
|
@@ -151,10 +177,10 @@ export function removeEditorPanel(panelName) {
|
|
|
151
177
|
* @param {string} feature Feature name.
|
|
152
178
|
*/
|
|
153
179
|
|
|
154
|
-
export const toggleFeature = feature =>
|
|
180
|
+
export const toggleFeature = feature => _ref5 => {
|
|
155
181
|
let {
|
|
156
182
|
registry
|
|
157
|
-
} =
|
|
183
|
+
} = _ref5;
|
|
158
184
|
return registry.dispatch(preferencesStore).toggle('core/edit-post', feature);
|
|
159
185
|
};
|
|
160
186
|
/**
|
|
@@ -163,10 +189,10 @@ export const toggleFeature = feature => _ref3 => {
|
|
|
163
189
|
* @param {string} mode The editor mode.
|
|
164
190
|
*/
|
|
165
191
|
|
|
166
|
-
export const switchEditorMode = mode =>
|
|
192
|
+
export const switchEditorMode = mode => _ref6 => {
|
|
167
193
|
let {
|
|
168
194
|
registry
|
|
169
|
-
} =
|
|
195
|
+
} = _ref6;
|
|
170
196
|
registry.dispatch(preferencesStore).set('core/edit-post', 'editorMode', mode); // Unselect blocks when we switch to the code editor.
|
|
171
197
|
|
|
172
198
|
if (mode !== 'visual') {
|
|
@@ -182,10 +208,10 @@ export const switchEditorMode = mode => _ref4 => {
|
|
|
182
208
|
* @param {string} pluginName Plugin name.
|
|
183
209
|
*/
|
|
184
210
|
|
|
185
|
-
export const togglePinnedPluginItem = pluginName =>
|
|
211
|
+
export const togglePinnedPluginItem = pluginName => _ref7 => {
|
|
186
212
|
let {
|
|
187
213
|
registry
|
|
188
|
-
} =
|
|
214
|
+
} = _ref7;
|
|
189
215
|
const isPinned = registry.select(interfaceStore).isItemPinned('core/edit-post', pluginName);
|
|
190
216
|
registry.dispatch(interfaceStore)[isPinned ? 'unpinItem' : 'pinItem']('core/edit-post', pluginName);
|
|
191
217
|
};
|
|
@@ -196,18 +222,18 @@ export const togglePinnedPluginItem = pluginName => _ref5 => {
|
|
|
196
222
|
* @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the "auto apply" setting of the block is removed.
|
|
197
223
|
*/
|
|
198
224
|
|
|
199
|
-
export const updatePreferredStyleVariations = (blockName, blockStyle) =>
|
|
200
|
-
var _registry$select$
|
|
225
|
+
export const updatePreferredStyleVariations = (blockName, blockStyle) => _ref8 => {
|
|
226
|
+
var _registry$select$get3;
|
|
201
227
|
|
|
202
228
|
let {
|
|
203
229
|
registry
|
|
204
|
-
} =
|
|
230
|
+
} = _ref8;
|
|
205
231
|
|
|
206
232
|
if (!blockName) {
|
|
207
233
|
return;
|
|
208
234
|
}
|
|
209
235
|
|
|
210
|
-
const existingVariations = (_registry$select$
|
|
236
|
+
const existingVariations = (_registry$select$get3 = registry.select(preferencesStore).get('core/edit-post', 'preferredStyleVariations')) !== null && _registry$select$get3 !== void 0 ? _registry$select$get3 : {}; // When the blockStyle is omitted, remove the block's preferred variation.
|
|
211
237
|
|
|
212
238
|
if (!blockStyle) {
|
|
213
239
|
const updatedVariations = { ...existingVariations
|
|
@@ -227,13 +253,13 @@ export const updatePreferredStyleVariations = (blockName, blockStyle) => _ref6 =
|
|
|
227
253
|
* @param {string[]} blockNames Names of block types to show.
|
|
228
254
|
*/
|
|
229
255
|
|
|
230
|
-
export const showBlockTypes = blockNames =>
|
|
231
|
-
var _registry$select$
|
|
256
|
+
export const showBlockTypes = blockNames => _ref9 => {
|
|
257
|
+
var _registry$select$get4;
|
|
232
258
|
|
|
233
259
|
let {
|
|
234
260
|
registry
|
|
235
|
-
} =
|
|
236
|
-
const existingBlockNames = (_registry$select$
|
|
261
|
+
} = _ref9;
|
|
262
|
+
const existingBlockNames = (_registry$select$get4 = registry.select(preferencesStore).get('core/edit-post', 'hiddenBlockTypes')) !== null && _registry$select$get4 !== void 0 ? _registry$select$get4 : [];
|
|
237
263
|
const newBlockNames = without(existingBlockNames, ...castArray(blockNames));
|
|
238
264
|
registry.dispatch(preferencesStore).set('core/edit-post', 'hiddenBlockTypes', newBlockNames);
|
|
239
265
|
};
|
|
@@ -243,13 +269,13 @@ export const showBlockTypes = blockNames => _ref7 => {
|
|
|
243
269
|
* @param {string[]} blockNames Names of block types to hide.
|
|
244
270
|
*/
|
|
245
271
|
|
|
246
|
-
export const hideBlockTypes = blockNames =>
|
|
247
|
-
var _registry$select$
|
|
272
|
+
export const hideBlockTypes = blockNames => _ref10 => {
|
|
273
|
+
var _registry$select$get5;
|
|
248
274
|
|
|
249
275
|
let {
|
|
250
276
|
registry
|
|
251
|
-
} =
|
|
252
|
-
const existingBlockNames = (_registry$select$
|
|
277
|
+
} = _ref10;
|
|
278
|
+
const existingBlockNames = (_registry$select$get5 = registry.select(preferencesStore).get('core/edit-post', 'hiddenBlockTypes')) !== null && _registry$select$get5 !== void 0 ? _registry$select$get5 : [];
|
|
253
279
|
const mergedBlockNames = new Set([...existingBlockNames, ...castArray(blockNames)]);
|
|
254
280
|
registry.dispatch(preferencesStore).set('core/edit-post', 'hiddenBlockTypes', [...mergedBlockNames]);
|
|
255
281
|
};
|
|
@@ -260,10 +286,10 @@ export const hideBlockTypes = blockNames => _ref8 => {
|
|
|
260
286
|
* @param {Object} metaBoxesPerLocation Meta boxes per location.
|
|
261
287
|
*/
|
|
262
288
|
|
|
263
|
-
export const setAvailableMetaBoxesPerLocation = metaBoxesPerLocation =>
|
|
289
|
+
export const setAvailableMetaBoxesPerLocation = metaBoxesPerLocation => _ref11 => {
|
|
264
290
|
let {
|
|
265
291
|
dispatch
|
|
266
|
-
} =
|
|
292
|
+
} = _ref11;
|
|
267
293
|
return dispatch({
|
|
268
294
|
type: 'SET_META_BOXES_PER_LOCATIONS',
|
|
269
295
|
metaBoxesPerLocation
|
|
@@ -273,12 +299,12 @@ export const setAvailableMetaBoxesPerLocation = metaBoxesPerLocation => _ref9 =>
|
|
|
273
299
|
* Update a metabox.
|
|
274
300
|
*/
|
|
275
301
|
|
|
276
|
-
export const requestMetaBoxUpdates = () => async
|
|
302
|
+
export const requestMetaBoxUpdates = () => async _ref12 => {
|
|
277
303
|
let {
|
|
278
304
|
registry,
|
|
279
305
|
select,
|
|
280
306
|
dispatch
|
|
281
|
-
} =
|
|
307
|
+
} = _ref12;
|
|
282
308
|
dispatch({
|
|
283
309
|
type: 'REQUEST_META_BOX_UPDATES'
|
|
284
310
|
}); // Saves the wp_editor fields.
|
|
@@ -303,8 +329,8 @@ export const requestMetaBoxUpdates = () => async _ref10 => {
|
|
|
303
329
|
|
|
304
330
|
return memo;
|
|
305
331
|
}, new window.FormData());
|
|
306
|
-
additionalData.forEach(
|
|
307
|
-
let [key, value] =
|
|
332
|
+
additionalData.forEach(_ref13 => {
|
|
333
|
+
let [key, value] = _ref13;
|
|
308
334
|
return formData.append(key, value);
|
|
309
335
|
});
|
|
310
336
|
|
|
@@ -410,12 +436,12 @@ export function setIsEditingTemplate(value) {
|
|
|
410
436
|
|
|
411
437
|
export const __unstableSwitchToTemplateMode = function () {
|
|
412
438
|
let newTemplate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
413
|
-
return
|
|
439
|
+
return _ref14 => {
|
|
414
440
|
let {
|
|
415
441
|
registry,
|
|
416
442
|
select,
|
|
417
443
|
dispatch
|
|
418
|
-
} =
|
|
444
|
+
} = _ref14;
|
|
419
445
|
dispatch(setIsEditingTemplate(true));
|
|
420
446
|
const isWelcomeGuideActive = select.isFeatureActive('welcomeGuideTemplate');
|
|
421
447
|
|
|
@@ -433,10 +459,10 @@ export const __unstableSwitchToTemplateMode = function () {
|
|
|
433
459
|
* @param {Object?} template Template to create and assign.
|
|
434
460
|
*/
|
|
435
461
|
|
|
436
|
-
export const __unstableCreateTemplate = template => async
|
|
462
|
+
export const __unstableCreateTemplate = template => async _ref15 => {
|
|
437
463
|
let {
|
|
438
464
|
registry
|
|
439
|
-
} =
|
|
465
|
+
} = _ref15;
|
|
440
466
|
const savedTemplate = await registry.dispatch(coreStore).saveEntityRecord('postType', 'wp_template', template);
|
|
441
467
|
const post = registry.select(editorStore).getCurrentPost();
|
|
442
468
|
registry.dispatch(coreStore).editEntityRecord('postType', post.type, post.id, {
|
|
@@ -448,12 +474,12 @@ let metaBoxesInitialized = false;
|
|
|
448
474
|
* Initializes WordPress `postboxes` script and the logic for saving meta boxes.
|
|
449
475
|
*/
|
|
450
476
|
|
|
451
|
-
export const initializeMetaBoxes = () =>
|
|
477
|
+
export const initializeMetaBoxes = () => _ref16 => {
|
|
452
478
|
let {
|
|
453
479
|
registry,
|
|
454
480
|
select,
|
|
455
481
|
dispatch
|
|
456
|
-
} =
|
|
482
|
+
} = _ref16;
|
|
457
483
|
|
|
458
484
|
const isEditorReady = registry.select(editorStore).__unstableIsEditorReady();
|
|
459
485
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/store/actions.js"],"names":["castArray","reduce","without","__","apiFetch","store","interfaceStore","preferencesStore","speak","noticesStore","coreStore","blockEditorStore","editorStore","getMetaBoxContainer","editPostStore","openGeneralSidebar","name","registry","dispatch","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","openModal","type","closeModal","openPublishSidebar","closePublishSidebar","togglePublishSidebar","toggleEditorPanelEnabled","panelName","toggleEditorPanelOpened","removeEditorPanel","toggleFeature","feature","toggle","switchEditorMode","mode","set","clearSelectedBlock","message","togglePinnedPluginItem","pluginName","isPinned","select","isItemPinned","updatePreferredStyleVariations","blockName","blockStyle","existingVariations","get","updatedVariations","showBlockTypes","blockNames","existingBlockNames","newBlockNames","hideBlockTypes","mergedBlockNames","Set","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","window","tinyMCE","triggerSave","post","getCurrentPost","additionalData","comment_status","ping_status","sticky","author","filter","Boolean","baseFormData","FormData","document","querySelector","activeMetaBoxLocations","getActiveMetaBoxLocations","formDataToMerge","map","location","formData","memo","currentFormData","key","value","append","forEach","url","_wpMetaBoxUrl","method","body","parse","metaBoxUpdatesSuccess","metaBoxUpdatesFailure","__experimentalSetPreviewDeviceType","deviceType","setIsInserterOpened","setIsListViewOpened","isOpen","setIsEditingTemplate","__unstableSwitchToTemplateMode","newTemplate","isWelcomeGuideActive","isFeatureActive","createSuccessNotice","__unstableCreateTemplate","template","savedTemplate","saveEntityRecord","editEntityRecord","id","slug","metaBoxesInitialized","initializeMetaBoxes","isEditorReady","__unstableIsEditorReady","postType","getCurrentPostType","postboxes","page","add_postbox_toggles","wasSavingPost","isSavingPost","wasAutosavingPost","isAutosavingPost","hasMetaBoxes","subscribe","shouldTriggerMetaboxesSave"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray, reduce, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { store as editPostStore } from '.';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar = ( name ) => ( { registry } ) =>\n\tregistry\n\t\t.dispatch( interfaceStore )\n\t\t.enableComplementaryArea( editPostStore.name, name );\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n */\nexport const closeGeneralSidebar = () => ( { registry } ) =>\n\tregistry\n\t\t.dispatch( interfaceStore )\n\t\t.disableComplementaryArea( editPostStore.name );\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport function openModal( name ) {\n\treturn {\n\t\ttype: 'OPEN_MODAL',\n\t\tname,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @return {Object} Action object.\n */\nexport function closeModal() {\n\treturn {\n\t\ttype: 'CLOSE_MODAL',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport function toggleEditorPanelEnabled( panelName ) {\n\treturn {\n\t\ttype: 'TOGGLE_PANEL_ENABLED',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Returns an action object used to open or close a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n *\n * @return {Object} Action object.\n */\nexport function toggleEditorPanelOpened( panelName ) {\n\treturn {\n\t\ttype: 'TOGGLE_PANEL_OPENED',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Returns an action object used to remove a panel from the editor.\n *\n * @param {string} panelName A string that identifies the panel to remove.\n *\n * @return {Object} Action object.\n */\nexport function removeEditorPanel( panelName ) {\n\treturn {\n\t\ttype: 'REMOVE_PANEL',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Triggers an action used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n */\nexport const toggleFeature = ( feature ) => ( { registry } ) =>\n\tregistry.dispatch( preferencesStore ).toggle( 'core/edit-post', feature );\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode = ( mode ) => ( { registry } ) => {\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'editorMode', mode );\n\n\t// Unselect blocks when we switch to the code editor.\n\tif ( mode !== 'visual' ) {\n\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t}\n\n\tconst message =\n\t\tmode === 'visual'\n\t\t\t? __( 'Visual editor selected' )\n\t\t\t: __( 'Code editor selected' );\n\tspeak( message, 'assertive' );\n};\n\n/**\n * Triggers an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n */\nexport const togglePinnedPluginItem = ( pluginName ) => ( { registry } ) => {\n\tconst isPinned = registry\n\t\t.select( interfaceStore )\n\t\t.isItemPinned( 'core/edit-post', pluginName );\n\n\tregistry\n\t\t.dispatch( interfaceStore )\n\t\t[ isPinned ? 'unpinItem' : 'pinItem' ]( 'core/edit-post', pluginName );\n};\n\n/**\n * Returns an action object used in signaling that a style should be auto-applied when a block is created.\n *\n * @param {string} blockName Name of the block.\n * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the \"auto apply\" setting of the block is removed.\n */\nexport const updatePreferredStyleVariations = ( blockName, blockStyle ) => ( {\n\tregistry,\n} ) => {\n\tif ( ! blockName ) {\n\t\treturn;\n\t}\n\n\tconst existingVariations =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'preferredStyleVariations' ) ?? {};\n\n\t// When the blockStyle is omitted, remove the block's preferred variation.\n\tif ( ! blockStyle ) {\n\t\tconst updatedVariations = {\n\t\t\t...existingVariations,\n\t\t};\n\n\t\tdelete updatedVariations[ blockName ];\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'preferredStyleVariations',\n\t\t\t\tupdatedVariations\n\t\t\t);\n\t} else {\n\t\t// Else add the variation.\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'preferredStyleVariations', {\n\t\t\t\t...existingVariations,\n\t\t\t\t[ blockName ]: blockStyle,\n\t\t\t} );\n\t}\n};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes = ( blockNames ) => ( { registry } ) => {\n\tconst existingBlockNames =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\tconst newBlockNames = without(\n\t\texistingBlockNames,\n\t\t...castArray( blockNames )\n\t);\n\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'hiddenBlockTypes', newBlockNames );\n};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes = ( blockNames ) => ( { registry } ) => {\n\tconst existingBlockNames =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\tconst mergedBlockNames = new Set( [\n\t\t...existingBlockNames,\n\t\t...castArray( blockNames ),\n\t] );\n\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'hiddenBlockTypes', [ ...mergedBlockNames ] );\n};\n\n/**\n * Returns an action object used in signaling\n * what Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n */\nexport const setAvailableMetaBoxesPerLocation = ( metaBoxesPerLocation ) => ( {\n\tdispatch,\n} ) =>\n\tdispatch( {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t} );\n\n/**\n * Update a metabox.\n */\nexport const requestMetaBoxUpdates = () => async ( {\n\tregistry,\n\tselect,\n\tdispatch,\n} ) => {\n\tdispatch( {\n\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t} );\n\n\t// Saves the wp_editor fields.\n\tif ( window.tinyMCE ) {\n\t\twindow.tinyMCE.triggerSave();\n\t}\n\n\t// Additional data needed for backward compatibility.\n\t// If we do not provide this data, the post will be overridden with the default values.\n\tconst post = registry.select( editorStore ).getCurrentPost();\n\tconst additionalData = [\n\t\tpost.comment_status ? [ 'comment_status', post.comment_status ] : false,\n\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\tpost.author ? [ 'post_author', post.author ] : false,\n\t].filter( Boolean );\n\n\t// We gather all the metaboxes locations data and the base form data.\n\tconst baseFormData = new window.FormData(\n\t\tdocument.querySelector( '.metabox-base-form' )\n\t);\n\tconst activeMetaBoxLocations = select.getActiveMetaBoxLocations();\n\tconst formDataToMerge = [\n\t\tbaseFormData,\n\t\t...activeMetaBoxLocations.map(\n\t\t\t( location ) =>\n\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t),\n\t];\n\n\t// Merge all form data objects into a single one.\n\tconst formData = reduce(\n\t\tformDataToMerge,\n\t\t( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t},\n\t\tnew window.FormData()\n\t);\n\tadditionalData.forEach( ( [ key, value ] ) =>\n\t\tformData.append( key, value )\n\t);\n\n\ttry {\n\t\t// Save the metaboxes.\n\t\tawait apiFetch( {\n\t\t\turl: window._wpMetaBoxUrl,\n\t\t\tmethod: 'POST',\n\t\t\tbody: formData,\n\t\t\tparse: false,\n\t\t} );\n\t\tdispatch.metaBoxUpdatesSuccess();\n\t} catch {\n\t\tdispatch.metaBoxUpdatesFailure();\n\t}\n};\n\n/**\n * Returns an action object used to signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n/**\n * Returns an action object used to signal a failed meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesFailure() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_FAILURE',\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to switch to template editing.\n *\n * @param {boolean} value Is editing template.\n * @return {Object} Action object.\n */\nexport function setIsEditingTemplate( value ) {\n\treturn {\n\t\ttype: 'SET_IS_EDITING_TEMPLATE',\n\t\tvalue,\n\t};\n}\n\n/**\n * Switches to the template mode.\n *\n * @param {boolean} newTemplate Is new template.\n */\nexport const __unstableSwitchToTemplateMode = ( newTemplate = false ) => ( {\n\tregistry,\n\tselect,\n\tdispatch,\n} ) => {\n\tdispatch( setIsEditingTemplate( true ) );\n\tconst isWelcomeGuideActive = select.isFeatureActive(\n\t\t'welcomeGuideTemplate'\n\t);\n\tif ( ! isWelcomeGuideActive ) {\n\t\tconst message = newTemplate\n\t\t\t? __( \"Custom template created. You're in template mode now.\" )\n\t\t\t: __(\n\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t );\n\t\tregistry.dispatch( noticesStore ).createSuccessNotice( message, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n};\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const __unstableCreateTemplate = ( template ) => async ( {\n\tregistry,\n} ) => {\n\tconst savedTemplate = await registry\n\t\t.dispatch( coreStore )\n\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\tconst post = registry.select( editorStore ).getCurrentPost();\n\tregistry\n\t\t.dispatch( coreStore )\n\t\t.editEntityRecord( 'postType', post.type, post.id, {\n\t\t\ttemplate: savedTemplate.slug,\n\t\t} );\n};\n\nlet metaBoxesInitialized = false;\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n */\nexport const initializeMetaBoxes = () => ( { registry, select, dispatch } ) => {\n\tconst isEditorReady = registry\n\t\t.select( editorStore )\n\t\t.__unstableIsEditorReady();\n\n\tif ( ! isEditorReady ) {\n\t\treturn;\n\t}\n\t// Only initialize once.\n\tif ( metaBoxesInitialized ) {\n\t\treturn;\n\t}\n\tconst postType = registry.select( editorStore ).getCurrentPostType();\n\tif ( window.postboxes.page !== postType ) {\n\t\twindow.postboxes.add_postbox_toggles( postType );\n\t}\n\n\tmetaBoxesInitialized = true;\n\n\tlet wasSavingPost = registry.select( editorStore ).isSavingPost();\n\tlet wasAutosavingPost = registry.select( editorStore ).isAutosavingPost();\n\tconst hasMetaBoxes = select.hasMetaBoxes();\n\n\t// Save metaboxes when performing a full save on the post.\n\tregistry.subscribe( async () => {\n\t\tconst isSavingPost = registry.select( editorStore ).isSavingPost();\n\t\tconst isAutosavingPost = registry\n\t\t\t.select( editorStore )\n\t\t\t.isAutosavingPost();\n\n\t\t// Save metaboxes on save completion, except for autosaves that are not a post preview.\n\t\t//\n\t\t// Meta boxes are initialized once at page load. It is not necessary to\n\t\t// account for updates on each state change.\n\t\t//\n\t\t// See: https://github.com/WordPress/WordPress/blob/5.1.1/wp-admin/includes/post.php#L2307-L2309.\n\t\tconst shouldTriggerMetaboxesSave =\n\t\t\thasMetaBoxes &&\n\t\t\twasSavingPost &&\n\t\t\t! isSavingPost &&\n\t\t\t! wasAutosavingPost;\n\n\t\t// Save current state for next inspection.\n\t\twasSavingPost = isSavingPost;\n\t\twasAutosavingPost = isAutosavingPost;\n\n\t\tif ( shouldTriggerMetaboxesSave ) {\n\t\t\tawait dispatch.requestMetaBoxUpdates();\n\t\t}\n\t} );\n\n\tdispatch( {\n\t\ttype: 'META_BOXES_INITIALIZED',\n\t} );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/store/actions.js"],"names":["castArray","reduce","without","__","apiFetch","store","interfaceStore","preferencesStore","speak","noticesStore","coreStore","blockEditorStore","editorStore","getMetaBoxContainer","editPostStore","openGeneralSidebar","name","registry","dispatch","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","openModal","type","closeModal","openPublishSidebar","closePublishSidebar","togglePublishSidebar","toggleEditorPanelEnabled","panelName","inactivePanels","select","get","isPanelInactive","includes","updatedInactivePanels","filter","invactivePanelName","set","toggleEditorPanelOpened","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","toggleFeature","feature","toggle","switchEditorMode","mode","clearSelectedBlock","message","togglePinnedPluginItem","pluginName","isPinned","isItemPinned","updatePreferredStyleVariations","blockName","blockStyle","existingVariations","updatedVariations","showBlockTypes","blockNames","existingBlockNames","newBlockNames","hideBlockTypes","mergedBlockNames","Set","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","window","tinyMCE","triggerSave","post","getCurrentPost","additionalData","comment_status","ping_status","sticky","author","Boolean","baseFormData","FormData","document","querySelector","activeMetaBoxLocations","getActiveMetaBoxLocations","formDataToMerge","map","location","formData","memo","currentFormData","key","value","append","forEach","url","_wpMetaBoxUrl","method","body","parse","metaBoxUpdatesSuccess","metaBoxUpdatesFailure","__experimentalSetPreviewDeviceType","deviceType","setIsInserterOpened","setIsListViewOpened","isOpen","setIsEditingTemplate","__unstableSwitchToTemplateMode","newTemplate","isWelcomeGuideActive","isFeatureActive","createSuccessNotice","__unstableCreateTemplate","template","savedTemplate","saveEntityRecord","editEntityRecord","id","slug","metaBoxesInitialized","initializeMetaBoxes","isEditorReady","__unstableIsEditorReady","postType","getCurrentPostType","postboxes","page","add_postbox_toggles","wasSavingPost","isSavingPost","wasAutosavingPost","isAutosavingPost","hasMetaBoxes","subscribe","shouldTriggerMetaboxesSave"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray, reduce, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { store as editPostStore } from '.';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar = ( name ) => ( { registry } ) =>\n\tregistry\n\t\t.dispatch( interfaceStore )\n\t\t.enableComplementaryArea( editPostStore.name, name );\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n */\nexport const closeGeneralSidebar = () => ( { registry } ) =>\n\tregistry\n\t\t.dispatch( interfaceStore )\n\t\t.disableComplementaryArea( editPostStore.name );\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport function openModal( name ) {\n\treturn {\n\t\ttype: 'OPEN_MODAL',\n\t\tname,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @return {Object} Action object.\n */\nexport function closeModal() {\n\treturn {\n\t\ttype: 'CLOSE_MODAL',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport const toggleEditorPanelEnabled = ( panelName ) => ( { registry } ) => {\n\tconst inactivePanels =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'inactivePanels' ) ?? [];\n\n\tconst isPanelInactive = !! inactivePanels?.includes( panelName );\n\n\t// If the panel is inactive, remove it to enable it, else add it to\n\t// make it inactive.\n\tlet updatedInactivePanels;\n\tif ( isPanelInactive ) {\n\t\tupdatedInactivePanels = inactivePanels.filter(\n\t\t\t( invactivePanelName ) => invactivePanelName !== panelName\n\t\t);\n\t} else {\n\t\tupdatedInactivePanels = [ ...inactivePanels, panelName ];\n\t}\n\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'inactivePanels', updatedInactivePanels );\n};\n\n/**\n * Opens a closed panel and closes an open panel.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n */\nexport const toggleEditorPanelOpened = ( panelName ) => ( { registry } ) => {\n\tconst openPanels =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'openPanels' ) ?? [];\n\n\tconst isPanelOpen = !! openPanels?.includes( panelName );\n\n\t// If the panel is open, remove it to close it, else add it to\n\t// make it open.\n\tlet updatedOpenPanels;\n\tif ( isPanelOpen ) {\n\t\tupdatedOpenPanels = openPanels.filter(\n\t\t\t( openPanelName ) => openPanelName !== panelName\n\t\t);\n\t} else {\n\t\tupdatedOpenPanels = [ ...openPanels, panelName ];\n\t}\n\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'openPanels', updatedOpenPanels );\n};\n\n/**\n * Returns an action object used to remove a panel from the editor.\n *\n * @param {string} panelName A string that identifies the panel to remove.\n *\n * @return {Object} Action object.\n */\nexport function removeEditorPanel( panelName ) {\n\treturn {\n\t\ttype: 'REMOVE_PANEL',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Triggers an action used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n */\nexport const toggleFeature = ( feature ) => ( { registry } ) =>\n\tregistry.dispatch( preferencesStore ).toggle( 'core/edit-post', feature );\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode = ( mode ) => ( { registry } ) => {\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'editorMode', mode );\n\n\t// Unselect blocks when we switch to the code editor.\n\tif ( mode !== 'visual' ) {\n\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t}\n\n\tconst message =\n\t\tmode === 'visual'\n\t\t\t? __( 'Visual editor selected' )\n\t\t\t: __( 'Code editor selected' );\n\tspeak( message, 'assertive' );\n};\n\n/**\n * Triggers an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n */\nexport const togglePinnedPluginItem = ( pluginName ) => ( { registry } ) => {\n\tconst isPinned = registry\n\t\t.select( interfaceStore )\n\t\t.isItemPinned( 'core/edit-post', pluginName );\n\n\tregistry\n\t\t.dispatch( interfaceStore )\n\t\t[ isPinned ? 'unpinItem' : 'pinItem' ]( 'core/edit-post', pluginName );\n};\n\n/**\n * Returns an action object used in signaling that a style should be auto-applied when a block is created.\n *\n * @param {string} blockName Name of the block.\n * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the \"auto apply\" setting of the block is removed.\n */\nexport const updatePreferredStyleVariations = ( blockName, blockStyle ) => ( {\n\tregistry,\n} ) => {\n\tif ( ! blockName ) {\n\t\treturn;\n\t}\n\n\tconst existingVariations =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'preferredStyleVariations' ) ?? {};\n\n\t// When the blockStyle is omitted, remove the block's preferred variation.\n\tif ( ! blockStyle ) {\n\t\tconst updatedVariations = {\n\t\t\t...existingVariations,\n\t\t};\n\n\t\tdelete updatedVariations[ blockName ];\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'preferredStyleVariations',\n\t\t\t\tupdatedVariations\n\t\t\t);\n\t} else {\n\t\t// Else add the variation.\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'preferredStyleVariations', {\n\t\t\t\t...existingVariations,\n\t\t\t\t[ blockName ]: blockStyle,\n\t\t\t} );\n\t}\n};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes = ( blockNames ) => ( { registry } ) => {\n\tconst existingBlockNames =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\tconst newBlockNames = without(\n\t\texistingBlockNames,\n\t\t...castArray( blockNames )\n\t);\n\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'hiddenBlockTypes', newBlockNames );\n};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes = ( blockNames ) => ( { registry } ) => {\n\tconst existingBlockNames =\n\t\tregistry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\tconst mergedBlockNames = new Set( [\n\t\t...existingBlockNames,\n\t\t...castArray( blockNames ),\n\t] );\n\n\tregistry\n\t\t.dispatch( preferencesStore )\n\t\t.set( 'core/edit-post', 'hiddenBlockTypes', [ ...mergedBlockNames ] );\n};\n\n/**\n * Returns an action object used in signaling\n * what Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n */\nexport const setAvailableMetaBoxesPerLocation = ( metaBoxesPerLocation ) => ( {\n\tdispatch,\n} ) =>\n\tdispatch( {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t} );\n\n/**\n * Update a metabox.\n */\nexport const requestMetaBoxUpdates = () => async ( {\n\tregistry,\n\tselect,\n\tdispatch,\n} ) => {\n\tdispatch( {\n\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t} );\n\n\t// Saves the wp_editor fields.\n\tif ( window.tinyMCE ) {\n\t\twindow.tinyMCE.triggerSave();\n\t}\n\n\t// Additional data needed for backward compatibility.\n\t// If we do not provide this data, the post will be overridden with the default values.\n\tconst post = registry.select( editorStore ).getCurrentPost();\n\tconst additionalData = [\n\t\tpost.comment_status ? [ 'comment_status', post.comment_status ] : false,\n\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\tpost.author ? [ 'post_author', post.author ] : false,\n\t].filter( Boolean );\n\n\t// We gather all the metaboxes locations data and the base form data.\n\tconst baseFormData = new window.FormData(\n\t\tdocument.querySelector( '.metabox-base-form' )\n\t);\n\tconst activeMetaBoxLocations = select.getActiveMetaBoxLocations();\n\tconst formDataToMerge = [\n\t\tbaseFormData,\n\t\t...activeMetaBoxLocations.map(\n\t\t\t( location ) =>\n\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t),\n\t];\n\n\t// Merge all form data objects into a single one.\n\tconst formData = reduce(\n\t\tformDataToMerge,\n\t\t( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t},\n\t\tnew window.FormData()\n\t);\n\tadditionalData.forEach( ( [ key, value ] ) =>\n\t\tformData.append( key, value )\n\t);\n\n\ttry {\n\t\t// Save the metaboxes.\n\t\tawait apiFetch( {\n\t\t\turl: window._wpMetaBoxUrl,\n\t\t\tmethod: 'POST',\n\t\t\tbody: formData,\n\t\t\tparse: false,\n\t\t} );\n\t\tdispatch.metaBoxUpdatesSuccess();\n\t} catch {\n\t\tdispatch.metaBoxUpdatesFailure();\n\t}\n};\n\n/**\n * Returns an action object used to signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n/**\n * Returns an action object used to signal a failed meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesFailure() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_FAILURE',\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to switch to template editing.\n *\n * @param {boolean} value Is editing template.\n * @return {Object} Action object.\n */\nexport function setIsEditingTemplate( value ) {\n\treturn {\n\t\ttype: 'SET_IS_EDITING_TEMPLATE',\n\t\tvalue,\n\t};\n}\n\n/**\n * Switches to the template mode.\n *\n * @param {boolean} newTemplate Is new template.\n */\nexport const __unstableSwitchToTemplateMode = ( newTemplate = false ) => ( {\n\tregistry,\n\tselect,\n\tdispatch,\n} ) => {\n\tdispatch( setIsEditingTemplate( true ) );\n\tconst isWelcomeGuideActive = select.isFeatureActive(\n\t\t'welcomeGuideTemplate'\n\t);\n\tif ( ! isWelcomeGuideActive ) {\n\t\tconst message = newTemplate\n\t\t\t? __( \"Custom template created. You're in template mode now.\" )\n\t\t\t: __(\n\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t );\n\t\tregistry.dispatch( noticesStore ).createSuccessNotice( message, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n};\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const __unstableCreateTemplate = ( template ) => async ( {\n\tregistry,\n} ) => {\n\tconst savedTemplate = await registry\n\t\t.dispatch( coreStore )\n\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\tconst post = registry.select( editorStore ).getCurrentPost();\n\tregistry\n\t\t.dispatch( coreStore )\n\t\t.editEntityRecord( 'postType', post.type, post.id, {\n\t\t\ttemplate: savedTemplate.slug,\n\t\t} );\n};\n\nlet metaBoxesInitialized = false;\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n */\nexport const initializeMetaBoxes = () => ( { registry, select, dispatch } ) => {\n\tconst isEditorReady = registry\n\t\t.select( editorStore )\n\t\t.__unstableIsEditorReady();\n\n\tif ( ! isEditorReady ) {\n\t\treturn;\n\t}\n\t// Only initialize once.\n\tif ( metaBoxesInitialized ) {\n\t\treturn;\n\t}\n\tconst postType = registry.select( editorStore ).getCurrentPostType();\n\tif ( window.postboxes.page !== postType ) {\n\t\twindow.postboxes.add_postbox_toggles( postType );\n\t}\n\n\tmetaBoxesInitialized = true;\n\n\tlet wasSavingPost = registry.select( editorStore ).isSavingPost();\n\tlet wasAutosavingPost = registry.select( editorStore ).isAutosavingPost();\n\tconst hasMetaBoxes = select.hasMetaBoxes();\n\n\t// Save metaboxes when performing a full save on the post.\n\tregistry.subscribe( async () => {\n\t\tconst isSavingPost = registry.select( editorStore ).isSavingPost();\n\t\tconst isAutosavingPost = registry\n\t\t\t.select( editorStore )\n\t\t\t.isAutosavingPost();\n\n\t\t// Save metaboxes on save completion, except for autosaves that are not a post preview.\n\t\t//\n\t\t// Meta boxes are initialized once at page load. It is not necessary to\n\t\t// account for updates on each state change.\n\t\t//\n\t\t// See: https://github.com/WordPress/WordPress/blob/5.1.1/wp-admin/includes/post.php#L2307-L2309.\n\t\tconst shouldTriggerMetaboxesSave =\n\t\t\thasMetaBoxes &&\n\t\t\twasSavingPost &&\n\t\t\t! isSavingPost &&\n\t\t\t! wasAutosavingPost;\n\n\t\t// Save current state for next inspection.\n\t\twasSavingPost = isSavingPost;\n\t\twasAutosavingPost = isAutosavingPost;\n\n\t\tif ( shouldTriggerMetaboxesSave ) {\n\t\t\tawait dispatch.requestMetaBoxUpdates();\n\t\t}\n\t} );\n\n\tdispatch( {\n\t\ttype: 'META_BOXES_INITIALIZED',\n\t} );\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createReduxStore,
|
|
4
|
+
import { createReduxStore, register } from '@wordpress/data';
|
|
5
5
|
/**
|
|
6
6
|
* Internal dependencies
|
|
7
7
|
*/
|
|
@@ -10,12 +10,6 @@ import reducer from './reducer';
|
|
|
10
10
|
import * as actions from './actions';
|
|
11
11
|
import * as selectors from './selectors';
|
|
12
12
|
import { STORE_NAME } from './constants';
|
|
13
|
-
const storeConfig = {
|
|
14
|
-
reducer,
|
|
15
|
-
actions,
|
|
16
|
-
selectors,
|
|
17
|
-
persist: ['preferences']
|
|
18
|
-
};
|
|
19
13
|
/**
|
|
20
14
|
* Store definition for the edit post namespace.
|
|
21
15
|
*
|
|
@@ -24,7 +18,10 @@ const storeConfig = {
|
|
|
24
18
|
* @type {Object}
|
|
25
19
|
*/
|
|
26
20
|
|
|
27
|
-
export const store = createReduxStore(STORE_NAME,
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
export const store = createReduxStore(STORE_NAME, {
|
|
22
|
+
reducer,
|
|
23
|
+
actions,
|
|
24
|
+
selectors
|
|
25
|
+
});
|
|
26
|
+
register(store);
|
|
30
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/store/index.js"],"names":["createReduxStore","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/store/index.js"],"names":["createReduxStore","register","reducer","actions","selectors","STORE_NAME","store"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,QAA3B,QAA2C,iBAA3C;AAEA;AACA;AACA;;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAO,KAAKC,OAAZ,MAAyB,WAAzB;AACA,OAAO,KAAKC,SAAZ,MAA2B,aAA3B;AACA,SAASC,UAAT,QAA2B,aAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,KAAK,GAAGN,gBAAgB,CAAEK,UAAF,EAAc;AAClDH,EAAAA,OADkD;AAElDC,EAAAA,OAFkD;AAGlDC,EAAAA;AAHkD,CAAd,CAA9B;AAMPH,QAAQ,CAAEK,KAAF,CAAR","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as actions from './actions';\nimport * as selectors from './selectors';\nimport { STORE_NAME } from './constants';\n\n/**\n * Store definition for the edit post namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\treducer,\n\tactions,\n\tselectors,\n} );\n\nregister( store );\n"]}
|
|
@@ -1,87 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { includes } from 'lodash';
|
|
5
5
|
/**
|
|
6
6
|
* WordPress dependencies
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { combineReducers } from '@wordpress/data';
|
|
10
|
-
/**
|
|
11
|
-
* Internal dependencies
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { PREFERENCES_DEFAULTS } from './defaults';
|
|
15
|
-
/**
|
|
16
|
-
* Higher-order reducer creator which provides the given initial state for the
|
|
17
|
-
* original reducer.
|
|
18
|
-
*
|
|
19
|
-
* @param {*} initialState Initial state to provide to reducer.
|
|
20
|
-
*
|
|
21
|
-
* @return {Function} Higher-order reducer.
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
const createWithInitialState = initialState => reducer => {
|
|
25
|
-
return function () {
|
|
26
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
27
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
28
|
-
return reducer(state, action);
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Reducer returning the user preferences.
|
|
33
|
-
*
|
|
34
|
-
* @param {Object} state Current state.
|
|
35
|
-
* @param {string} state.mode Current editor mode, either
|
|
36
|
-
* "visual" or "text".
|
|
37
|
-
* @param {boolean} state.isGeneralSidebarDismissed Whether general sidebar is
|
|
38
|
-
* dismissed. False by default
|
|
39
|
-
* or when closing general
|
|
40
|
-
* sidebar, true when opening
|
|
41
|
-
* sidebar.
|
|
42
|
-
* @param {boolean} state.isSidebarOpened Whether the sidebar is
|
|
43
|
-
* opened or closed.
|
|
44
|
-
* @param {Object} state.panels The state of the different
|
|
45
|
-
* sidebar panels.
|
|
46
|
-
* @param {Object} action Dispatched action.
|
|
47
|
-
*
|
|
48
|
-
* @return {Object} Updated state.
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
export const preferences = flow([combineReducers, createWithInitialState(PREFERENCES_DEFAULTS)])({
|
|
53
|
-
panels(state, action) {
|
|
54
|
-
switch (action.type) {
|
|
55
|
-
case 'TOGGLE_PANEL_ENABLED':
|
|
56
|
-
{
|
|
57
|
-
const {
|
|
58
|
-
panelName
|
|
59
|
-
} = action;
|
|
60
|
-
return { ...state,
|
|
61
|
-
[panelName]: { ...state[panelName],
|
|
62
|
-
enabled: !get(state, [panelName, 'enabled'], true)
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
case 'TOGGLE_PANEL_OPENED':
|
|
68
|
-
{
|
|
69
|
-
const {
|
|
70
|
-
panelName
|
|
71
|
-
} = action;
|
|
72
|
-
const isOpen = state[panelName] === true || get(state, [panelName, 'opened'], false);
|
|
73
|
-
return { ...state,
|
|
74
|
-
[panelName]: { ...state[panelName],
|
|
75
|
-
opened: !isOpen
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return state;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
});
|
|
85
10
|
/**
|
|
86
11
|
* Reducer storing the list of all programmatically removed panels.
|
|
87
12
|
*
|
|
@@ -308,7 +233,6 @@ const metaBoxes = combineReducers({
|
|
|
308
233
|
export default combineReducers({
|
|
309
234
|
activeModal,
|
|
310
235
|
metaBoxes,
|
|
311
|
-
preferences,
|
|
312
236
|
publishSidebarActive,
|
|
313
237
|
removedPanels,
|
|
314
238
|
deviceType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/store/reducer.js"],"names":["flow","get","includes","combineReducers","PREFERENCES_DEFAULTS","createWithInitialState","initialState","reducer","state","action","preferences","panels","type","panelName","enabled","isOpen","opened","removedPanels","activeModal","name","publishSidebarActive","isSavingMetaBoxes","metaBoxLocations","metaBoxesPerLocation","deviceType","blockInserterPanel","value","listViewPanel","isEditingTemplate","metaBoxesInitialized","metaBoxes","isSaving","locations","initialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { flow, get, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { PREFERENCES_DEFAULTS } from './defaults';\n\n/**\n * Higher-order reducer creator which provides the given initial state for the\n * original reducer.\n *\n * @param {*} initialState Initial state to provide to reducer.\n *\n * @return {Function} Higher-order reducer.\n */\nconst createWithInitialState = ( initialState ) => ( reducer ) => {\n\treturn ( state = initialState, action ) => reducer( state, action );\n};\n\n/**\n * Reducer returning the user preferences.\n *\n * @param {Object} state Current state.\n * @param {string} state.mode Current editor mode, either\n * \"visual\" or \"text\".\n * @param {boolean} state.isGeneralSidebarDismissed Whether general sidebar is\n * dismissed. False by default\n * or when closing general\n * sidebar, true when opening\n * sidebar.\n * @param {boolean} state.isSidebarOpened Whether the sidebar is\n * opened or closed.\n * @param {Object} state.panels The state of the different\n * sidebar panels.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const preferences = flow( [\n\tcombineReducers,\n\tcreateWithInitialState( PREFERENCES_DEFAULTS ),\n] )( {\n\tpanels( state, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'TOGGLE_PANEL_ENABLED': {\n\t\t\t\tconst { panelName } = action;\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ panelName ]: {\n\t\t\t\t\t\t...state[ panelName ],\n\t\t\t\t\t\tenabled: ! get( state, [ panelName, 'enabled' ], true ),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'TOGGLE_PANEL_OPENED': {\n\t\t\t\tconst { panelName } = action;\n\t\t\t\tconst isOpen =\n\t\t\t\t\tstate[ panelName ] === true ||\n\t\t\t\t\tget( state, [ panelName, 'opened' ], false );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ panelName ]: {\n\t\t\t\t\t\t...state[ panelName ],\n\t\t\t\t\t\topened: ! isOpen,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn state;\n\t},\n} );\n\n/**\n * Reducer storing the list of all programmatically removed panels.\n *\n * @param {Array} state Current state.\n * @param {Object} action Action object.\n *\n * @return {Array} Updated state.\n */\nexport function removedPanels( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REMOVE_PANEL':\n\t\t\tif ( ! includes( state, action.panelName ) ) {\n\t\t\t\treturn [ ...state, action.panelName ];\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for storing the name of the open modal, or null if no modal is open.\n *\n * @param {Object} state Previous state.\n * @param {Object} action Action object containing the `name` of the modal\n *\n * @return {Object} Updated state\n */\nexport function activeModal( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_MODAL':\n\t\t\treturn action.name;\n\t\tcase 'CLOSE_MODAL':\n\t\t\treturn null;\n\t}\n\n\treturn state;\n}\n\nexport function publishSidebarActive( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_PUBLISH_SIDEBAR':\n\t\t\treturn true;\n\t\tcase 'CLOSE_PUBLISH_SIDEBAR':\n\t\t\treturn false;\n\t\tcase 'TOGGLE_PUBLISH_SIDEBAR':\n\t\t\treturn ! state;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the meta boxes isSaving state.\n * A \"true\" value means the meta boxes saving request is in-flight.\n *\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function isSavingMetaBoxes( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_META_BOX_UPDATES':\n\t\t\treturn true;\n\t\tcase 'META_BOX_UPDATES_SUCCESS':\n\t\tcase 'META_BOX_UPDATES_FAILURE':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n/**\n * Reducer keeping track of the meta boxes per location.\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function metaBoxLocations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_META_BOXES_PER_LOCATIONS':\n\t\t\treturn action.metaBoxesPerLocation;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether the inserter is open.\n *\n * @param {boolean} state\n * @param {Object} action\n */\nfunction isEditingTemplate( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_EDITING_TEMPLATE':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether meta boxes are initialized.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nfunction metaBoxesInitialized( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'META_BOXES_INITIALIZED':\n\t\t\treturn true;\n\t}\n\treturn state;\n}\n\nconst metaBoxes = combineReducers( {\n\tisSaving: isSavingMetaBoxes,\n\tlocations: metaBoxLocations,\n\tinitialized: metaBoxesInitialized,\n} );\n\nexport default combineReducers( {\n\tactiveModal,\n\tmetaBoxes,\n\tpreferences,\n\tpublishSidebarActive,\n\tremovedPanels,\n\tdeviceType,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tisEditingTemplate,\n} );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/store/reducer.js"],"names":["includes","combineReducers","removedPanels","state","action","type","panelName","activeModal","name","publishSidebarActive","isSavingMetaBoxes","metaBoxLocations","metaBoxesPerLocation","deviceType","blockInserterPanel","isOpen","value","listViewPanel","isEditingTemplate","metaBoxesInitialized","metaBoxes","isSaving","locations","initialized"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,QAAzB;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,aAAT,GAA6C;AAAA,MAArBC,KAAqB,uEAAb,EAAa;AAAA,MAATC,MAAS;;AACnD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,cAAL;AACC,UAAK,CAAEL,QAAQ,CAAEG,KAAF,EAASC,MAAM,CAACE,SAAhB,CAAf,EAA6C;AAC5C,eAAO,CAAE,GAAGH,KAAL,EAAYC,MAAM,CAACE,SAAnB,CAAP;AACA;;AAJH;;AAOA,SAAOH,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASI,WAAT,GAA6C;AAAA,MAAvBJ,KAAuB,uEAAf,IAAe;AAAA,MAATC,MAAS;;AACnD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,YAAL;AACC,aAAOD,MAAM,CAACI,IAAd;;AACD,SAAK,aAAL;AACC,aAAO,IAAP;AAJF;;AAOA,SAAOL,KAAP;AACA;AAED,OAAO,SAASM,oBAAT,GAAuD;AAAA,MAAxBN,KAAwB,uEAAhB,KAAgB;AAAA,MAATC,MAAS;;AAC7D,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,sBAAL;AACC,aAAO,IAAP;;AACD,SAAK,uBAAL;AACC,aAAO,KAAP;;AACD,SAAK,wBAAL;AACC,aAAO,CAAEF,KAAT;AANF;;AAQA,SAAOA,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASO,iBAAT,GAAoD;AAAA,MAAxBP,KAAwB,uEAAhB,KAAgB;AAAA,MAATC,MAAS;;AAC1D,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,0BAAL;AACC,aAAO,IAAP;;AACD,SAAK,0BAAL;AACA,SAAK,0BAAL;AACC,aAAO,KAAP;;AACD;AACC,aAAOF,KAAP;AAPF;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASQ,gBAAT,GAAgD;AAAA,MAArBR,KAAqB,uEAAb,EAAa;AAAA,MAATC,MAAS;;AACtD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,8BAAL;AACC,aAAOD,MAAM,CAACQ,oBAAd;AAFF;;AAKA,SAAOT,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASU,UAAT,GAAiD;AAAA,MAA5BV,KAA4B,uEAApB,SAAoB;AAAA,MAATC,MAAS;;AACvD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,yBAAL;AACC,aAAOD,MAAM,CAACS,UAAd;AAFF;;AAKA,SAAOV,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASW,kBAAT,GAAqD;AAAA,MAAxBX,KAAwB,uEAAhB,KAAgB;AAAA,MAATC,MAAS;;AAC3D,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,yBAAL;AACC,aAAOD,MAAM,CAACW,MAAP,GAAgB,KAAhB,GAAwBZ,KAA/B;;AACD,SAAK,wBAAL;AACC,aAAOC,MAAM,CAACY,KAAd;AAJF;;AAMA,SAAOb,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASc,aAAT,GAAgD;AAAA,MAAxBd,KAAwB,uEAAhB,KAAgB;AAAA,MAATC,MAAS;;AACtD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,wBAAL;AACC,aAAOD,MAAM,CAACY,KAAP,GAAe,KAAf,GAAuBb,KAA9B;;AACD,SAAK,yBAAL;AACC,aAAOC,MAAM,CAACW,MAAd;AAJF;;AAMA,SAAOZ,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,SAASe,iBAAT,GAAoD;AAAA,MAAxBf,KAAwB,uEAAhB,KAAgB;AAAA,MAATC,MAAS;;AACnD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,yBAAL;AACC,aAAOD,MAAM,CAACY,KAAd;AAFF;;AAIA,SAAOb,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgB,oBAAT,GAAuD;AAAA,MAAxBhB,KAAwB,uEAAhB,KAAgB;AAAA,MAATC,MAAS;;AACtD,UAASA,MAAM,CAACC,IAAhB;AACC,SAAK,wBAAL;AACC,aAAO,IAAP;AAFF;;AAIA,SAAOF,KAAP;AACA;;AAED,MAAMiB,SAAS,GAAGnB,eAAe,CAAE;AAClCoB,EAAAA,QAAQ,EAAEX,iBADwB;AAElCY,EAAAA,SAAS,EAAEX,gBAFuB;AAGlCY,EAAAA,WAAW,EAAEJ;AAHqB,CAAF,CAAjC;AAMA,eAAelB,eAAe,CAAE;AAC/BM,EAAAA,WAD+B;AAE/Ba,EAAAA,SAF+B;AAG/BX,EAAAA,oBAH+B;AAI/BP,EAAAA,aAJ+B;AAK/BW,EAAAA,UAL+B;AAM/BC,EAAAA,kBAN+B;AAO/BG,EAAAA,aAP+B;AAQ/BC,EAAAA;AAR+B,CAAF,CAA9B","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer storing the list of all programmatically removed panels.\n *\n * @param {Array} state Current state.\n * @param {Object} action Action object.\n *\n * @return {Array} Updated state.\n */\nexport function removedPanels( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REMOVE_PANEL':\n\t\t\tif ( ! includes( state, action.panelName ) ) {\n\t\t\t\treturn [ ...state, action.panelName ];\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for storing the name of the open modal, or null if no modal is open.\n *\n * @param {Object} state Previous state.\n * @param {Object} action Action object containing the `name` of the modal\n *\n * @return {Object} Updated state\n */\nexport function activeModal( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_MODAL':\n\t\t\treturn action.name;\n\t\tcase 'CLOSE_MODAL':\n\t\t\treturn null;\n\t}\n\n\treturn state;\n}\n\nexport function publishSidebarActive( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_PUBLISH_SIDEBAR':\n\t\t\treturn true;\n\t\tcase 'CLOSE_PUBLISH_SIDEBAR':\n\t\t\treturn false;\n\t\tcase 'TOGGLE_PUBLISH_SIDEBAR':\n\t\t\treturn ! state;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the meta boxes isSaving state.\n * A \"true\" value means the meta boxes saving request is in-flight.\n *\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function isSavingMetaBoxes( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_META_BOX_UPDATES':\n\t\t\treturn true;\n\t\tcase 'META_BOX_UPDATES_SUCCESS':\n\t\tcase 'META_BOX_UPDATES_FAILURE':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n/**\n * Reducer keeping track of the meta boxes per location.\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function metaBoxLocations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_META_BOXES_PER_LOCATIONS':\n\t\t\treturn action.metaBoxesPerLocation;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether the inserter is open.\n *\n * @param {boolean} state\n * @param {Object} action\n */\nfunction isEditingTemplate( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_EDITING_TEMPLATE':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether meta boxes are initialized.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nfunction metaBoxesInitialized( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'META_BOXES_INITIALIZED':\n\t\t\treturn true;\n\t}\n\treturn state;\n}\n\nconst metaBoxes = combineReducers( {\n\tisSaving: isSavingMetaBoxes,\n\tlocations: metaBoxLocations,\n\tinitialized: metaBoxesInitialized,\n} );\n\nexport default combineReducers( {\n\tactiveModal,\n\tmetaBoxes,\n\tpublishSidebarActive,\n\tremovedPanels,\n\tdeviceType,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tisEditingTemplate,\n} );\n"]}
|