@wordpress/block-library 8.5.0 → 8.6.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/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/edit.js +10 -8
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/comments/edit/placeholder.js +8 -5
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/cover/index.js +13 -4
- package/build/cover/index.js.map +1 -1
- package/build/cover/variations.js +29 -0
- package/build/cover/variations.js.map +1 -0
- package/build/embed/edit.js +13 -14
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +18 -14
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/util.js +39 -12
- package/build/embed/util.js.map +1 -1
- package/build/gallery/edit.js +1 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/latest-posts/edit.js +10 -10
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +3 -3
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/media-text/constants.js +17 -1
- package/build/media-text/constants.js.map +1 -1
- package/build/media-text/edit.js +7 -19
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +6 -5
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/transforms.js +32 -44
- package/build/media-text/transforms.js.map +1 -1
- package/build/navigation/edit/index.js +56 -86
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +2 -5
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +26 -22
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +14 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-navigation-notice.js +1 -1
- package/build/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build/navigation-link/edit.js +0 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +0 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -13
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +59 -45
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list-item/edit.js +3 -2
- package/build/page-list-item/edit.js.map +1 -1
- package/build/post-content/edit.js +6 -1
- package/build/post-content/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +0 -6
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +1 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/pullquote/deprecated.js +3 -3
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/query-placeholder.js +3 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +26 -9
- package/build/query/utils.js.map +1 -1
- package/build/table/state.js +12 -4
- package/build/table/state.js.map +1 -1
- package/build/template-part/edit/import-controls.js +4 -24
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +69 -19
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/text-columns/edit.js +3 -7
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +11 -13
- package/build/text-columns/save.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +10 -7
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -1
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/comments/edit/placeholder.js +9 -5
- package/build-module/comments/edit/placeholder.js.map +1 -1
- package/build-module/cover/index.js +12 -4
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/variations.js +19 -0
- package/build-module/cover/variations.js.map +1 -0
- package/build-module/embed/edit.js +14 -15
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +19 -15
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/util.js +34 -10
- package/build-module/embed/util.js.map +1 -1
- package/build-module/gallery/edit.js +1 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +10 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +3 -3
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/media-text/constants.js +10 -0
- package/build-module/media-text/constants.js.map +1 -1
- package/build-module/media-text/edit.js +2 -14
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +4 -3
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/transforms.js +32 -44
- package/build-module/media-text/transforms.js.map +1 -1
- package/build-module/navigation/edit/index.js +58 -88
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +4 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build-module/navigation-link/edit.js +0 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +0 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -13
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +61 -47
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list-item/edit.js +3 -2
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/post-content/edit.js +6 -1
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +0 -6
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +1 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/pullquote/deprecated.js +3 -2
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +4 -3
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +21 -6
- package/build-module/query/utils.js.map +1 -1
- package/build-module/table/state.js +13 -5
- package/build-module/table/state.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +4 -23
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +69 -20
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/text-columns/edit.js +3 -6
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +11 -12
- package/build-module/text-columns/save.js.map +1 -1
- package/build-style/cover/style-rtl.css +11 -5
- package/build-style/cover/style.css +11 -5
- package/build-style/editor-rtl.css +5 -1
- package/build-style/editor.css +5 -1
- package/build-style/navigation/editor-rtl.css +1 -1
- package/build-style/navigation/editor.css +1 -1
- package/build-style/page-list/editor-rtl.css +4 -0
- package/build-style/page-list/editor.css +4 -0
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/style-rtl.css +12 -5
- package/build-style/style.css +12 -5
- package/package.json +31 -31
- package/src/audio/test/__snapshots__/edit.native.js.snap +44 -4
- package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/audio/test/transforms.native.js +42 -0
- package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/block/test/transforms.native.js +40 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/buttons/test/transforms.native.js +48 -0
- package/src/columns/edit.js +28 -17
- package/src/columns/edit.native.js +1 -1
- package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
- package/src/columns/test/transforms.native.js +91 -0
- package/src/comment-template/index.php +1 -2
- package/src/comments/edit/placeholder.js +16 -4
- package/src/cover/block.json +9 -3
- package/src/cover/index.js +2 -0
- package/src/cover/style.scss +16 -7
- package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/cover/test/transforms.native.js +112 -0
- package/src/cover/variations.js +20 -0
- package/src/embed/edit.js +16 -12
- package/src/embed/edit.native.js +28 -18
- package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
- package/src/embed/test/index.js +12 -0
- package/src/embed/test/transforms.native.js +44 -0
- package/src/embed/util.js +29 -8
- package/src/file/test/__snapshots__/edit.native.js.snap +18 -2
- package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/file/test/transforms.native.js +42 -0
- package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/freeform/test/transforms.native.js +39 -0
- package/src/gallery/edit.js +3 -0
- package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
- package/src/gallery/test/transforms.native.js +52 -0
- package/src/group/test/__snapshots__/transforms.native.js.snap +35 -0
- package/src/group/test/transforms.native.js +75 -0
- package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/heading/test/transforms.native.js +46 -0
- package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
- package/src/image/test/transforms.native.js +48 -0
- package/src/latest-posts/edit.js +11 -16
- package/src/latest-posts/edit.native.js +3 -3
- package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/latest-posts/test/transforms.native.js +61 -0
- package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
- package/src/list/test/transforms.native.js +56 -0
- package/src/media-text/constants.js +16 -0
- package/src/media-text/edit.js +8 -18
- package/src/media-text/edit.native.js +3 -9
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/media-text/test/transforms.native.js +112 -0
- package/src/media-text/transforms.js +24 -51
- package/src/missing/test/__snapshots__/edit.native.js.snap +20 -2
- package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/more/test/transforms.native.js +42 -0
- package/src/navigation/edit/index.js +104 -107
- package/src/navigation/edit/inner-blocks.js +3 -0
- package/src/navigation/edit/menu-inspector-controls.js +2 -7
- package/src/navigation/edit/navigation-menu-selector.js +41 -25
- package/src/navigation/edit/unsaved-inner-blocks.js +46 -33
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +82 -83
- package/src/navigation/edit/use-create-navigation-menu.js +1 -1
- package/src/navigation/edit/use-navigation-notice.js +1 -1
- package/src/navigation/editor.scss +23 -20
- package/src/navigation/index.php +18 -39
- package/src/navigation-link/edit.js +0 -9
- package/src/navigation-link/index.php +5 -8
- package/src/navigation-link/link-ui.js +0 -1
- package/src/navigation-submenu/edit.js +0 -10
- package/src/navigation-submenu/index.php +23 -6
- package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/nextpage/test/transforms.native.js +42 -0
- package/src/page-list/edit.js +78 -44
- package/src/page-list/editor.scss +6 -0
- package/src/page-list-item/edit.js +2 -3
- package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
- package/src/paragraph/test/transforms.native.js +50 -0
- package/src/post-content/edit.js +5 -1
- package/src/post-excerpt/index.php +1 -2
- package/src/post-featured-image/dimension-controls.js +0 -8
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-featured-image/style.scss +1 -0
- package/src/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/preformatted/test/transforms.native.js +42 -0
- package/src/pullquote/deprecated.js +2 -6
- package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/pullquote/test/transforms.native.js +46 -0
- package/src/query/edit/query-placeholder.js +10 -5
- package/src/query/test/utils.js +33 -1
- package/src/query/utils.js +19 -6
- package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
- package/src/quote/test/transforms.native.js +67 -0
- package/src/search/test/__snapshots__/edit.native.js.snap +11 -1
- package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/search/test/transforms.native.js +40 -0
- package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/separator/test/transforms.native.js +42 -0
- package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/shortcode/test/transforms.native.js +42 -0
- package/src/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/social-links/test/transforms.native.js +53 -0
- package/src/spacer/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/spacer/test/transforms.native.js +42 -0
- package/src/table/state.js +8 -17
- package/src/template-part/edit/import-controls.js +2 -29
- package/src/template-part/edit/utils/transformers.js +96 -19
- package/src/text-columns/edit.js +1 -6
- package/src/text-columns/save.js +1 -6
- package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/verse/test/transforms.native.js +42 -0
- package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
- package/src/video/test/transforms.native.js +48 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Gallery block transformations to Columns block 1`] = `
|
|
4
|
+
"<!-- wp:columns -->
|
|
5
|
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
|
6
|
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:gallery {"columns":8,"linkTo":"none","className":"alignfull"} -->
|
|
7
|
+
<figure class="wp-block-gallery has-nested-images columns-8 is-cropped alignfull"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
8
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
|
|
9
|
+
<!-- /wp:image -->
|
|
10
|
+
|
|
11
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
12
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
|
|
13
|
+
<!-- /wp:image -->
|
|
14
|
+
|
|
15
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
16
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
|
|
17
|
+
<!-- /wp:image --></figure>
|
|
18
|
+
<!-- /wp:gallery --></div>
|
|
19
|
+
<!-- /wp:column --></div>
|
|
20
|
+
<!-- /wp:columns -->"
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
exports[`Gallery block transformations to Group block 1`] = `
|
|
24
|
+
"<!-- wp:group {"layout":{"type":"constrained"}} -->
|
|
25
|
+
<div class="wp-block-group"><!-- wp:gallery {"columns":8,"linkTo":"none","className":"alignfull"} -->
|
|
26
|
+
<figure class="wp-block-gallery has-nested-images columns-8 is-cropped alignfull"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
27
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
|
|
28
|
+
<!-- /wp:image -->
|
|
29
|
+
|
|
30
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
31
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
|
|
32
|
+
<!-- /wp:image -->
|
|
33
|
+
|
|
34
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
35
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
|
|
36
|
+
<!-- /wp:image --></figure>
|
|
37
|
+
<!-- /wp:gallery --></div>
|
|
38
|
+
<!-- /wp:group -->"
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
exports[`Gallery block transformations to Image block 1`] = `
|
|
42
|
+
"<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
43
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
|
|
44
|
+
<!-- /wp:image -->
|
|
45
|
+
|
|
46
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
47
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
|
|
48
|
+
<!-- /wp:image -->
|
|
49
|
+
|
|
50
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
51
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
|
|
52
|
+
<!-- /wp:image -->"
|
|
53
|
+
`;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getEditorHtml,
|
|
6
|
+
initializeEditor,
|
|
7
|
+
setupCoreBlocks,
|
|
8
|
+
transformBlock,
|
|
9
|
+
getBlockTransformOptions,
|
|
10
|
+
} from 'test/helpers';
|
|
11
|
+
|
|
12
|
+
const block = 'Gallery';
|
|
13
|
+
const initialHtml = `
|
|
14
|
+
<!-- wp:gallery {"columns":8,"linkTo":"none","className":"alignfull"} -->
|
|
15
|
+
<figure class="wp-block-gallery has-nested-images columns-8 is-cropped alignfull"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
16
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
|
|
17
|
+
<!-- /wp:image -->
|
|
18
|
+
|
|
19
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
20
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
|
|
21
|
+
<!-- /wp:image -->
|
|
22
|
+
|
|
23
|
+
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
|
24
|
+
<figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
|
|
25
|
+
<!-- /wp:image --></figure>
|
|
26
|
+
<!-- /wp:gallery -->`;
|
|
27
|
+
|
|
28
|
+
const tranformsWithInnerBlocks = [ 'Columns', 'Group' ];
|
|
29
|
+
const blockTransforms = [ 'Image', ...tranformsWithInnerBlocks ];
|
|
30
|
+
|
|
31
|
+
setupCoreBlocks();
|
|
32
|
+
|
|
33
|
+
describe( `${ block } block transformations`, () => {
|
|
34
|
+
test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
|
|
35
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
36
|
+
const newBlock = await transformBlock( screen, block, blockTransform, {
|
|
37
|
+
isMediaBlock: true,
|
|
38
|
+
hasInnerBlocks: tranformsWithInnerBlocks.includes( blockTransform ),
|
|
39
|
+
} );
|
|
40
|
+
expect( newBlock ).toBeVisible();
|
|
41
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
42
|
+
} );
|
|
43
|
+
|
|
44
|
+
it( 'matches expected transformation options', async () => {
|
|
45
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
46
|
+
const transformOptions = await getBlockTransformOptions(
|
|
47
|
+
screen,
|
|
48
|
+
block
|
|
49
|
+
);
|
|
50
|
+
expect( transformOptions ).toHaveLength( blockTransforms.length );
|
|
51
|
+
} );
|
|
52
|
+
} );
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Group block transforms to Columns block 1`] = `
|
|
4
|
+
"<!-- wp:columns -->
|
|
5
|
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
|
6
|
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:group -->
|
|
7
|
+
<div id="this-is-another-anchor" class="wp-block-group"><!-- wp:paragraph -->
|
|
8
|
+
<p>One.</p>
|
|
9
|
+
<!-- /wp:paragraph -->
|
|
10
|
+
|
|
11
|
+
<!-- wp:paragraph -->
|
|
12
|
+
<p>Two</p>
|
|
13
|
+
<!-- /wp:paragraph -->
|
|
14
|
+
|
|
15
|
+
<!-- wp:paragraph -->
|
|
16
|
+
<p>Three.</p>
|
|
17
|
+
<!-- /wp:paragraph --></div>
|
|
18
|
+
<!-- /wp:group --></div>
|
|
19
|
+
<!-- /wp:column --></div>
|
|
20
|
+
<!-- /wp:columns -->"
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
exports[`Group block transforms unwraps content 1`] = `
|
|
24
|
+
"<!-- wp:paragraph -->
|
|
25
|
+
<p>One.</p>
|
|
26
|
+
<!-- /wp:paragraph -->
|
|
27
|
+
|
|
28
|
+
<!-- wp:paragraph -->
|
|
29
|
+
<p>Two</p>
|
|
30
|
+
<!-- /wp:paragraph -->
|
|
31
|
+
|
|
32
|
+
<!-- wp:paragraph -->
|
|
33
|
+
<p>Three.</p>
|
|
34
|
+
<!-- /wp:paragraph -->"
|
|
35
|
+
`;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getEditorHtml,
|
|
6
|
+
initializeEditor,
|
|
7
|
+
setupCoreBlocks,
|
|
8
|
+
transformBlock,
|
|
9
|
+
getBlock,
|
|
10
|
+
openBlockActionsMenu,
|
|
11
|
+
fireEvent,
|
|
12
|
+
getBlockTransformOptions,
|
|
13
|
+
} from 'test/helpers';
|
|
14
|
+
|
|
15
|
+
const block = 'Group';
|
|
16
|
+
const initialHtml = `
|
|
17
|
+
<!-- wp:group -->
|
|
18
|
+
<div id="this-is-another-anchor" class="wp-block-group"><!-- wp:paragraph -->
|
|
19
|
+
<p>One.</p>
|
|
20
|
+
<!-- /wp:paragraph -->
|
|
21
|
+
|
|
22
|
+
<!-- wp:paragraph -->
|
|
23
|
+
<p>Two</p>
|
|
24
|
+
<!-- /wp:paragraph -->
|
|
25
|
+
|
|
26
|
+
<!-- wp:paragraph -->
|
|
27
|
+
<p>Three.</p>
|
|
28
|
+
<!-- /wp:paragraph --></div>
|
|
29
|
+
<!-- /wp:group -->`;
|
|
30
|
+
|
|
31
|
+
const transformsWithInnerBlocks = [ 'Columns' ];
|
|
32
|
+
const blockTransforms = [ ...transformsWithInnerBlocks ];
|
|
33
|
+
|
|
34
|
+
setupCoreBlocks();
|
|
35
|
+
|
|
36
|
+
describe( `${ block } block transforms`, () => {
|
|
37
|
+
test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
|
|
38
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
39
|
+
const newBlock = await transformBlock( screen, block, blockTransform, {
|
|
40
|
+
hasInnerBlocks:
|
|
41
|
+
transformsWithInnerBlocks.includes( blockTransform ),
|
|
42
|
+
} );
|
|
43
|
+
expect( newBlock ).toBeVisible();
|
|
44
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
45
|
+
} );
|
|
46
|
+
|
|
47
|
+
it( 'unwraps content', async () => {
|
|
48
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
49
|
+
const { getByText } = screen;
|
|
50
|
+
fireEvent.press( getBlock( screen, block ) );
|
|
51
|
+
|
|
52
|
+
await openBlockActionsMenu( screen );
|
|
53
|
+
fireEvent.press( getByText( 'Transform block…' ) );
|
|
54
|
+
fireEvent.press( getByText( 'Unwrap' ) );
|
|
55
|
+
|
|
56
|
+
// The first block created is the content of the Paragraph block.
|
|
57
|
+
const paragraph = getBlock( screen, 'Paragraph', 0 );
|
|
58
|
+
expect( paragraph ).toBeVisible();
|
|
59
|
+
// The second block created is the content of the citation element.
|
|
60
|
+
const citation = getBlock( screen, 'Paragraph', 1 );
|
|
61
|
+
expect( citation ).toBeVisible();
|
|
62
|
+
|
|
63
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
64
|
+
} );
|
|
65
|
+
|
|
66
|
+
it( 'matches expected transformation options', async () => {
|
|
67
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
68
|
+
const transformOptions = await getBlockTransformOptions(
|
|
69
|
+
screen,
|
|
70
|
+
block,
|
|
71
|
+
{ canUnwrap: true }
|
|
72
|
+
);
|
|
73
|
+
expect( transformOptions ).toHaveLength( blockTransforms.length );
|
|
74
|
+
} );
|
|
75
|
+
} );
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Heading block transforms to Columns block 1`] = `
|
|
4
|
+
"<!-- wp:columns -->
|
|
5
|
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
|
6
|
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:heading -->
|
|
7
|
+
<h2 class="wp-block-heading">Example text</h2>
|
|
8
|
+
<!-- /wp:heading --></div>
|
|
9
|
+
<!-- /wp:column --></div>
|
|
10
|
+
<!-- /wp:columns -->"
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
exports[`Heading block transforms to Group block 1`] = `
|
|
14
|
+
"<!-- wp:group {"layout":{"type":"constrained"}} -->
|
|
15
|
+
<div class="wp-block-group"><!-- wp:heading -->
|
|
16
|
+
<h2 class="wp-block-heading">Example text</h2>
|
|
17
|
+
<!-- /wp:heading --></div>
|
|
18
|
+
<!-- /wp:group -->"
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
exports[`Heading block transforms to List block 1`] = `
|
|
22
|
+
"<!-- wp:list -->
|
|
23
|
+
<ul><!-- wp:list-item -->
|
|
24
|
+
<li>Example text</li>
|
|
25
|
+
<!-- /wp:list-item --></ul>
|
|
26
|
+
<!-- /wp:list -->"
|
|
27
|
+
`;
|
|
28
|
+
|
|
29
|
+
exports[`Heading block transforms to Paragraph block 1`] = `
|
|
30
|
+
"<!-- wp:paragraph -->
|
|
31
|
+
<p>Example text</p>
|
|
32
|
+
<!-- /wp:paragraph -->"
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
exports[`Heading block transforms to Pullquote block 1`] = `
|
|
36
|
+
"<!-- wp:pullquote -->
|
|
37
|
+
<figure class="wp-block-pullquote"><blockquote><p>Example text</p></blockquote></figure>
|
|
38
|
+
<!-- /wp:pullquote -->"
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
exports[`Heading block transforms to Quote block 1`] = `
|
|
42
|
+
"<!-- wp:quote -->
|
|
43
|
+
<blockquote class="wp-block-quote"><!-- wp:heading -->
|
|
44
|
+
<h2 class="wp-block-heading">Example text</h2>
|
|
45
|
+
<!-- /wp:heading --></blockquote>
|
|
46
|
+
<!-- /wp:quote -->"
|
|
47
|
+
`;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getEditorHtml,
|
|
6
|
+
initializeEditor,
|
|
7
|
+
setupCoreBlocks,
|
|
8
|
+
transformBlock,
|
|
9
|
+
getBlockTransformOptions,
|
|
10
|
+
} from 'test/helpers';
|
|
11
|
+
|
|
12
|
+
const block = 'Heading';
|
|
13
|
+
const initialHtml = `
|
|
14
|
+
<!-- wp:heading -->
|
|
15
|
+
<h2 class="wp-block-heading">Example text</h2>
|
|
16
|
+
<!-- /wp:heading -->`;
|
|
17
|
+
|
|
18
|
+
const transformsWithInnerBlocks = [ 'List', 'Quote', 'Columns', 'Group' ];
|
|
19
|
+
const blockTransforms = [
|
|
20
|
+
'Paragraph',
|
|
21
|
+
'Pullquote',
|
|
22
|
+
...transformsWithInnerBlocks,
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
setupCoreBlocks();
|
|
26
|
+
|
|
27
|
+
describe( `${ block } block transforms`, () => {
|
|
28
|
+
test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
|
|
29
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
30
|
+
const newBlock = await transformBlock( screen, block, blockTransform, {
|
|
31
|
+
hasInnerBlocks:
|
|
32
|
+
transformsWithInnerBlocks.includes( blockTransform ),
|
|
33
|
+
} );
|
|
34
|
+
expect( newBlock ).toBeVisible();
|
|
35
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
36
|
+
} );
|
|
37
|
+
|
|
38
|
+
it( 'matches expected transformation options', async () => {
|
|
39
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
40
|
+
const transformOptions = await getBlockTransformOptions(
|
|
41
|
+
screen,
|
|
42
|
+
block
|
|
43
|
+
);
|
|
44
|
+
expect( transformOptions ).toHaveLength( blockTransforms.length );
|
|
45
|
+
} );
|
|
46
|
+
} );
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Image block transformations to Columns block 1`] = `
|
|
4
|
+
"<!-- wp:columns -->
|
|
5
|
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
|
6
|
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
|
|
7
|
+
<figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
|
|
8
|
+
<!-- /wp:image --></div>
|
|
9
|
+
<!-- /wp:column --></div>
|
|
10
|
+
<!-- /wp:columns -->"
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
exports[`Image block transformations to Cover block 1`] = `
|
|
14
|
+
"<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":1,"dimRatio":50,"style":{"color":{}}} -->
|
|
15
|
+
<div class="wp-block-cover"><span aria-hidden="true" class="wp-block-cover__background has-background-dim"></span><img class="wp-block-cover__image-background wp-image-1" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","fontSize":"large"} -->
|
|
16
|
+
<p class="has-text-align-center has-large-font-size">Mountain</p>
|
|
17
|
+
<!-- /wp:paragraph --></div></div>
|
|
18
|
+
<!-- /wp:cover -->"
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
exports[`Image block transformations to File block 1`] = `
|
|
22
|
+
"<!-- wp:file {"id":1,"href":"https://cldup.com/cXyG__fTLN.jpg"} -->
|
|
23
|
+
<div class="wp-block-file"><a href="https://cldup.com/cXyG__fTLN.jpg">Mountain</a><a href="https://cldup.com/cXyG__fTLN.jpg" class="wp-block-file__button wp-element-button" download>Download</a></div>
|
|
24
|
+
<!-- /wp:file -->"
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
exports[`Image block transformations to Gallery block 1`] = `
|
|
28
|
+
"<!-- wp:gallery {"linkTo":"none"} -->
|
|
29
|
+
<figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
|
|
30
|
+
<figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
|
|
31
|
+
<!-- /wp:image --></figure>
|
|
32
|
+
<!-- /wp:gallery -->"
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
exports[`Image block transformations to Group block 1`] = `
|
|
36
|
+
"<!-- wp:group {"layout":{"type":"constrained"}} -->
|
|
37
|
+
<div class="wp-block-group"><!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
|
|
38
|
+
<figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
|
|
39
|
+
<!-- /wp:image --></div>
|
|
40
|
+
<!-- /wp:group -->"
|
|
41
|
+
`;
|
|
42
|
+
|
|
43
|
+
exports[`Image block transformations to Media & Text block 1`] = `
|
|
44
|
+
"<!-- wp:media-text {"mediaId":1,"mediaType":"image"} -->
|
|
45
|
+
<div class="wp-block-media-text alignwide is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:paragraph -->
|
|
46
|
+
<p></p>
|
|
47
|
+
<!-- /wp:paragraph --></div></div>
|
|
48
|
+
<!-- /wp:media-text -->"
|
|
49
|
+
`;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getEditorHtml,
|
|
6
|
+
initializeEditor,
|
|
7
|
+
setupCoreBlocks,
|
|
8
|
+
transformBlock,
|
|
9
|
+
getBlockTransformOptions,
|
|
10
|
+
} from 'test/helpers';
|
|
11
|
+
|
|
12
|
+
const block = 'Image';
|
|
13
|
+
const initialHtml = `
|
|
14
|
+
<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
|
|
15
|
+
<figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
|
|
16
|
+
<!-- /wp:image -->`;
|
|
17
|
+
|
|
18
|
+
const tranformsWithInnerBlocks = [ 'Gallery', 'Columns', 'Group' ];
|
|
19
|
+
const nonMediaTransforms = [ 'File' ];
|
|
20
|
+
const blockTransforms = [
|
|
21
|
+
'Cover',
|
|
22
|
+
'Media & Text',
|
|
23
|
+
...tranformsWithInnerBlocks,
|
|
24
|
+
...nonMediaTransforms,
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
setupCoreBlocks();
|
|
28
|
+
|
|
29
|
+
describe( `${ block } block transformations`, () => {
|
|
30
|
+
test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
|
|
31
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
32
|
+
const newBlock = await transformBlock( screen, block, blockTransform, {
|
|
33
|
+
isMediaBlock: ! nonMediaTransforms.includes( blockTransform ),
|
|
34
|
+
hasInnerBlocks: tranformsWithInnerBlocks.includes( blockTransform ),
|
|
35
|
+
} );
|
|
36
|
+
expect( newBlock ).toBeVisible();
|
|
37
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
38
|
+
} );
|
|
39
|
+
|
|
40
|
+
it( 'matches expected transformation options', async () => {
|
|
41
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
42
|
+
const transformOptions = await getBlockTransformOptions(
|
|
43
|
+
screen,
|
|
44
|
+
block
|
|
45
|
+
);
|
|
46
|
+
expect( transformOptions ).toHaveLength( blockTransforms.length );
|
|
47
|
+
} );
|
|
48
|
+
} );
|
package/src/latest-posts/edit.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { get } from 'lodash';
|
|
5
4
|
import classnames from 'classnames';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -57,7 +56,7 @@ const USERS_LIST_QUERY = {
|
|
|
57
56
|
};
|
|
58
57
|
|
|
59
58
|
function getFeaturedImageDetails( post, size ) {
|
|
60
|
-
const image =
|
|
59
|
+
const image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];
|
|
61
60
|
|
|
62
61
|
return {
|
|
63
62
|
url:
|
|
@@ -116,16 +115,12 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
116
115
|
);
|
|
117
116
|
|
|
118
117
|
return {
|
|
119
|
-
defaultImageWidth:
|
|
120
|
-
settings.imageDimensions
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
settings.imageDimensions,
|
|
126
|
-
[ featuredImageSizeSlug, 'height' ],
|
|
127
|
-
0
|
|
128
|
-
),
|
|
118
|
+
defaultImageWidth:
|
|
119
|
+
settings.imageDimensions?.[ featuredImageSizeSlug ]
|
|
120
|
+
?.width ?? 0,
|
|
121
|
+
defaultImageHeight:
|
|
122
|
+
settings.imageDimensions?.[ featuredImageSizeSlug ]
|
|
123
|
+
?.height ?? 0,
|
|
129
124
|
imageSizes: settings.imageSizes,
|
|
130
125
|
latestPosts: getEntityRecords(
|
|
131
126
|
'postType',
|
|
@@ -204,7 +199,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
204
199
|
const hasPosts = !! latestPosts?.length;
|
|
205
200
|
const inspectorControls = (
|
|
206
201
|
<InspectorControls>
|
|
207
|
-
<PanelBody title={ __( 'Post content
|
|
202
|
+
<PanelBody title={ __( 'Post content' ) }>
|
|
208
203
|
<ToggleControl
|
|
209
204
|
label={ __( 'Post content' ) }
|
|
210
205
|
checked={ displayPostContent }
|
|
@@ -234,7 +229,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
234
229
|
displayPostContentRadio === 'excerpt' && (
|
|
235
230
|
<RangeControl
|
|
236
231
|
__nextHasNoMarginBottom
|
|
237
|
-
label={ __( 'Max number of words
|
|
232
|
+
label={ __( 'Max number of words' ) }
|
|
238
233
|
value={ excerptLength }
|
|
239
234
|
onChange={ ( value ) =>
|
|
240
235
|
setAttributes( { excerptLength: value } )
|
|
@@ -245,7 +240,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
245
240
|
) }
|
|
246
241
|
</PanelBody>
|
|
247
242
|
|
|
248
|
-
<PanelBody title={ __( 'Post meta
|
|
243
|
+
<PanelBody title={ __( 'Post meta' ) }>
|
|
249
244
|
<ToggleControl
|
|
250
245
|
__nextHasNoMarginBottom
|
|
251
246
|
label={ __( 'Display author name' ) }
|
|
@@ -264,7 +259,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
264
259
|
/>
|
|
265
260
|
</PanelBody>
|
|
266
261
|
|
|
267
|
-
<PanelBody title={ __( 'Featured image
|
|
262
|
+
<PanelBody title={ __( 'Featured image' ) }>
|
|
268
263
|
<ToggleControl
|
|
269
264
|
__nextHasNoMarginBottom
|
|
270
265
|
label={ __( 'Display featured image' ) }
|
|
@@ -160,7 +160,7 @@ class LatestPostsEdit extends Component {
|
|
|
160
160
|
|
|
161
161
|
return (
|
|
162
162
|
<InspectorControls>
|
|
163
|
-
<PanelBody title={ __( 'Post content
|
|
163
|
+
<PanelBody title={ __( 'Post content' ) }>
|
|
164
164
|
<ToggleControl
|
|
165
165
|
label={ __( 'Show post content' ) }
|
|
166
166
|
checked={ displayPostContent }
|
|
@@ -184,7 +184,7 @@ class LatestPostsEdit extends Component {
|
|
|
184
184
|
) }
|
|
185
185
|
</PanelBody>
|
|
186
186
|
|
|
187
|
-
<PanelBody title={ __( 'Post meta
|
|
187
|
+
<PanelBody title={ __( 'Post meta' ) }>
|
|
188
188
|
<ToggleControl
|
|
189
189
|
label={ __( 'Display post date' ) }
|
|
190
190
|
checked={ displayPostDate }
|
|
@@ -192,7 +192,7 @@ class LatestPostsEdit extends Component {
|
|
|
192
192
|
/>
|
|
193
193
|
</PanelBody>
|
|
194
194
|
|
|
195
|
-
<PanelBody title={ __( 'Featured image
|
|
195
|
+
<PanelBody title={ __( 'Featured image' ) }>
|
|
196
196
|
<ToggleControl
|
|
197
197
|
label={ __( 'Display featured image' ) }
|
|
198
198
|
checked={ displayFeaturedImage }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Latest Posts block transforms to Columns block 1`] = `
|
|
4
|
+
"<!-- wp:columns -->
|
|
5
|
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
|
6
|
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:latest-posts {"displayPostContent":true,"displayPostDate":true} /--></div>
|
|
7
|
+
<!-- /wp:column --></div>
|
|
8
|
+
<!-- /wp:columns -->"
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
exports[`Latest Posts block transforms to Group block 1`] = `
|
|
12
|
+
"<!-- wp:group {"layout":{"type":"constrained"}} -->
|
|
13
|
+
<div class="wp-block-group"><!-- wp:latest-posts {"displayPostContent":true,"displayPostDate":true} /--></div>
|
|
14
|
+
<!-- /wp:group -->"
|
|
15
|
+
`;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getEditorHtml,
|
|
6
|
+
initializeEditor,
|
|
7
|
+
setupCoreBlocks,
|
|
8
|
+
transformBlock,
|
|
9
|
+
getBlockTransformOptions,
|
|
10
|
+
} from 'test/helpers';
|
|
11
|
+
/**
|
|
12
|
+
* WordPress dependencies
|
|
13
|
+
*/
|
|
14
|
+
import apiFetch from '@wordpress/api-fetch';
|
|
15
|
+
|
|
16
|
+
const block = 'Latest Posts';
|
|
17
|
+
const initialHtml = `
|
|
18
|
+
<!-- wp:latest-posts {"displayPostContent":true,"displayPostDate":true} /-->`;
|
|
19
|
+
|
|
20
|
+
const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
|
|
21
|
+
const blockTransforms = [ ...transformsWithInnerBlocks ];
|
|
22
|
+
|
|
23
|
+
setupCoreBlocks();
|
|
24
|
+
|
|
25
|
+
describe( `${ block } block transforms`, () => {
|
|
26
|
+
beforeAll( () => {
|
|
27
|
+
// Mock response of the request made from Latest Posts block to path "/wp/v2/categories".
|
|
28
|
+
apiFetch.mockResolvedValue( [
|
|
29
|
+
{
|
|
30
|
+
slug: 'uncategorized',
|
|
31
|
+
parent: 0,
|
|
32
|
+
id: 1,
|
|
33
|
+
count: 6,
|
|
34
|
+
link: '',
|
|
35
|
+
meta: [],
|
|
36
|
+
description: '',
|
|
37
|
+
name: 'Uncategorized',
|
|
38
|
+
taxonomy: 'category',
|
|
39
|
+
},
|
|
40
|
+
] );
|
|
41
|
+
} );
|
|
42
|
+
|
|
43
|
+
test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
|
|
44
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
45
|
+
const newBlock = await transformBlock( screen, block, blockTransform, {
|
|
46
|
+
hasInnerBlocks:
|
|
47
|
+
transformsWithInnerBlocks.includes( blockTransform ),
|
|
48
|
+
} );
|
|
49
|
+
expect( newBlock ).toBeVisible();
|
|
50
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
51
|
+
} );
|
|
52
|
+
|
|
53
|
+
it( 'matches expected transformation options', async () => {
|
|
54
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
55
|
+
const transformOptions = await getBlockTransformOptions(
|
|
56
|
+
screen,
|
|
57
|
+
block
|
|
58
|
+
);
|
|
59
|
+
expect( transformOptions ).toHaveLength( blockTransforms.length );
|
|
60
|
+
} );
|
|
61
|
+
} );
|