Skip to content

Commit 9c5e98f

Browse files
author
Marco Pereirinha
committed
Refresh edit screen on post save if storage is set to Cloudinary Only
1 parent d09cdc1 commit 9c5e98f

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

src/js/blocks.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import Video from './components/video';
55
import Featured from './components/featured-image';
66
import Terms from './components/terms-inspector';
7+
import MaybeReloadAfterSave from './components/maybe-reload-after-save';
78

89
// jQuery, because reasons.
910
window.$ = window.jQuery;
@@ -13,4 +14,5 @@ export const cloudinaryBlocks = {
1314
Video,
1415
Featured,
1516
Terms,
17+
MaybeReloadAfterSave,
1618
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { registerPlugin } from '@wordpress/plugins';
2+
import { useSelect } from '@wordpress/data';
3+
import { useEffect } from '@wordpress/element';
4+
5+
const MaybeReloadAfterSave = () => {
6+
const isSaving = useSelect( ( select ) =>
7+
select( 'core/editor' ).isSavingPost()
8+
);
9+
const isDirty = useSelect( ( select ) =>
10+
select( 'core/editor' ).isEditedPostDirty()
11+
);
12+
const { storage } = window?.CLDN || null;
13+
14+
useEffect( () => {
15+
if ( isSaving && ! isDirty && 'cld' === storage ) {
16+
window.location.reload();
17+
}
18+
}, [ isSaving ] );
19+
};
20+
21+
registerPlugin( 'cloudinary-maybe-reload-after-save', {
22+
render: MaybeReloadAfterSave,
23+
} );
24+
25+
export default MaybeReloadAfterSave;

0 commit comments

Comments
 (0)