Skip to content

Commit

Permalink
Feedback changes
Browse files Browse the repository at this point in the history
  • Loading branch information
benazeer-ben committed Feb 11, 2025
1 parent 62bf9c2 commit 7119606
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 58 deletions.
59 changes: 2 additions & 57 deletions packages/block-library/src/page-list/edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ import {
} from '@wordpress/components';
import { __, sprintf } from '@wordpress/i18n';
import { useMemo, useState, useEffect, useCallback } from '@wordpress/element';
import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
import { useSelect, useDispatch, select } from '@wordpress/data';
import { useEntityRecords } from '@wordpress/core-data';
import { useSelect, useDispatch } from '@wordpress/data';

/**
* Internal dependencies
Expand Down Expand Up @@ -258,7 +258,6 @@ export default function PageListEdit( {
hasDraggedChild,
isChildOfNavigation,
} = useSelect(
// eslint-disable-next-line no-shadow
( select ) => {
const {
getBlockParentsByBlockName,
Expand Down Expand Up @@ -407,57 +406,3 @@ export default function PageListEdit( {
</>
);
}
export const transforms = {
to: [
{
type: 'block',
blocks: [ 'core/list' ],
transform: () => {
const pages = select( coreStore ).getEntityRecords(
'postType',
'page',
{
per_page: -1,
status: 'publish',
}
);

if ( ! pages || pages.length === 0 ) {
return createBlock( 'core/list', {
ordered: false,
} );
}

const createListItems = ( parentId = 0 ) => {
return pages
.filter( ( page ) => page.parent === parentId )
.map( ( page ) => {
const childItems = createListItems( page.id );
const listItem = createBlock( 'core/list-item', {
content: `<a href="${ page.link }">${ page.title.rendered }</a>`,
} );
if ( childItems.length > 0 ) {
const subList = createBlock(
'core/list',
{},
childItems
);
listItem.innerBlocks = [ subList ];
}
return listItem;
} );
};

const innerBlocks = createListItems();

return createBlock(
'core/list',
{
ordered: false,
},
innerBlocks
);
},
},
],
};
3 changes: 2 additions & 1 deletion packages/block-library/src/page-list/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import { pages } from '@wordpress/icons';
*/
import initBlock from '../utils/init-block';
import metadata from './block.json';
import edit, { transforms } from './edit.js';
import transforms from './transforms.js';
import edit from './edit.js';

const { name } = metadata;

Expand Down
71 changes: 71 additions & 0 deletions packages/block-library/src/page-list/transforms.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/**
* WordPress dependencies
*/
import { createBlock } from '@wordpress/blocks';
import { store as coreStore } from '@wordpress/core-data';
import { select } from '@wordpress/data';
const transforms = {
to: [
{
type: 'block',
blocks: [ 'core/list' ],
transform: ( attributes ) => {
const { style, fontFamily } = attributes;
const pages = select( coreStore ).getEntityRecords(
'postType',
'page',
{
per_page: 100,
status: 'publish',
orderBy: 'menu_order',
order: 'asc',
_fields: [
'id',
'link',
'parent',
'title',
'menu_order',
],
}
);

if ( ! pages || pages.length === 0 ) {
return createBlock( 'core/list', {} );
}

const createListItems = ( parentId = 0 ) => {
return pages
.filter( ( page ) => page.parent === parentId )
.map( ( page ) => {
const childItems = createListItems( page.id );
const listItem = createBlock( 'core/list-item', {
content: `<a href="${ page.link }">${ page.title.rendered }</a>`,
} );
if ( childItems.length > 0 ) {
const subList = createBlock(
'core/list',
{},
childItems
);
listItem.innerBlocks = [ subList ];
}
return listItem;
} );
};

const innerBlocks = createListItems();

return createBlock(
'core/list',
{
style,
fontFamily,
},
innerBlocks
);
},
},
],
};

export default transforms;

0 comments on commit 7119606

Please sign in to comment.