Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 8436330

Browse files
Remove propTypes definitions from Reviews By Category (#9623)
* converted reviews-by-category block * converted index.js to tsx * fix imports * removed unnecessary metadata * added type explicitly
1 parent b190d23 commit 8436330

File tree

6 files changed

+46
-30
lines changed

6 files changed

+46
-30
lines changed

assets/js/blocks/reviews/reviews-by-category/edit.js renamed to assets/js/blocks/reviews/reviews-by-category/block.tsx

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ import {
1010
ToggleControl,
1111
withSpokenMessages,
1212
} from '@wordpress/components';
13-
import PropTypes from 'prop-types';
1413
import ProductCategoryControl from '@woocommerce/editor-components/product-category-control';
1514
import { Icon, commentContent } from '@wordpress/icons';
1615

1716
/**
1817
* Internal dependencies
1918
*/
2019
import EditorContainerBlock from '../editor-container-block.js';
21-
import NoReviewsPlaceholder from './no-reviews-placeholder.js';
20+
import NoReviewsPlaceholder from './no-reviews-placeholder';
2221
import {
2322
getBlockControls,
2423
getSharedReviewContentControls,
2524
getSharedReviewListControls,
2625
} from '../edit-utils.js';
26+
import type { ReviewsByCategoryEditorProps } from './types';
2727

2828
/**
2929
* Component to handle edit mode of "Reviews by Category".
@@ -37,7 +37,7 @@ const ReviewsByCategoryEditor = ( {
3737
attributes,
3838
debouncedSpeak,
3939
setAttributes,
40-
} ) => {
40+
}: ReviewsByCategoryEditorProps ) => {
4141
const { editMode, categoryIds } = attributes;
4242

4343
const getInspectorControls = () => {
@@ -160,27 +160,10 @@ const ReviewsByCategoryEditor = ( {
160160
'Reviews by Category',
161161
'woo-gutenberg-products-block'
162162
) }
163-
noReviewsPlaceholder={ NoReviewsPlaceholder }
163+
noReviewsPlaceholder={ NoReviewsPlaceholder() }
164164
/>
165165
</>
166166
);
167167
};
168168

169-
ReviewsByCategoryEditor.propTypes = {
170-
/**
171-
* The attributes for this block.
172-
*/
173-
attributes: PropTypes.object.isRequired,
174-
/**
175-
* The register block name.
176-
*/
177-
name: PropTypes.string.isRequired,
178-
/**
179-
* A callback to update attributes.
180-
*/
181-
setAttributes: PropTypes.func.isRequired,
182-
// from withSpokenMessages
183-
debouncedSpeak: PropTypes.func.isRequired,
184-
};
185-
186169
export default withSpokenMessages( ReviewsByCategoryEditor );
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* External dependencies
3+
*/
4+
import { useBlockProps } from '@wordpress/block-editor';
5+
6+
/**
7+
* Internal dependencies
8+
*/
9+
import Block from './block';
10+
import type { ReviewsByCategoryEditorProps } from './types';
11+
12+
export const Edit = (
13+
props: unknown & ReviewsByCategoryEditorProps
14+
): JSX.Element => {
15+
const blockProps = useBlockProps();
16+
17+
return (
18+
<div { ...blockProps }>
19+
<Block { ...props } />
20+
</div>
21+
);
22+
};

assets/js/blocks/reviews/reviews-by-category/index.js renamed to assets/js/blocks/reviews/reviews-by-category/index.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import { Icon, commentContent } from '@wordpress/icons';
88
/**
99
* Internal dependencies
1010
*/
11-
import Editor from './edit';
12-
import sharedAttributes from '../attributes';
11+
import { Edit } from './edit';
12+
import sharedAttributes from '../attributes.js';
1313
import save from '../save.js';
14-
import { example } from '../example';
14+
import { example } from '../example.js';
1515

1616
/**
1717
* Register and run the "Reviews by category" block.
@@ -73,9 +73,7 @@ registerBlockType( 'woocommerce/reviews-by-category', {
7373
*
7474
* @param {Object} props Props to pass to block.
7575
*/
76-
edit( props ) {
77-
return <Editor { ...props } />;
78-
},
76+
edit: Edit,
7977

8078
/**
8179
* Save the props to post content.

assets/js/blocks/reviews/reviews-by-category/no-reviews-placeholder.js renamed to assets/js/blocks/reviews/reviews-by-category/no-reviews-placeholder.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import { __ } from '@wordpress/i18n';
55
import { Placeholder } from '@wordpress/components';
66
import { Icon, commentContent } from '@wordpress/icons';
7-
const NoReviewsPlaceholder = () => {
7+
const NoReviewsPlaceholder = (): JSX.Element => {
88
return (
99
<Placeholder
1010
className="wc-block-reviews-by-category"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export interface ReviewsByCategoryEditorProps {
2+
attributes: {
3+
editMode: boolean;
4+
categoryIds: number[];
5+
showProductName: boolean;
6+
};
7+
setAttributes: ( attributes: {
8+
editMode?: boolean;
9+
categoryIds?: number[];
10+
showProductName?: boolean;
11+
} ) => void;
12+
debouncedSpeak: ( message: string ) => void;
13+
}

checkstyle.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3621,7 +3621,7 @@
36213621
<error line="71" column="26" severity="error" message="Property &apos;instance&apos; does not exist on type &apos;{ showProductName: unknown; editMode: unknown; imageType: unknown; orderby: unknown; reviewsOnLoadMore: unknown; reviewsOnPageLoad: unknown; showLoadMore: unknown; showOrderby: unknown; showReviewDate: unknown; showReviewerName: unknown; showReviewImage: unknown; showReviewRating: unknown; showReviewContent: unknown...&apos;." source="TS2339" />
36223622
<error line="73" column="20" severity="error" message="Property &apos;instance&apos; does not exist on type &apos;{ showProductName: unknown; editMode: unknown; imageType: unknown; orderby: unknown; reviewsOnLoadMore: unknown; reviewsOnPageLoad: unknown; showLoadMore: unknown; showOrderby: unknown; showReviewDate: unknown; showReviewerName: unknown; showReviewImage: unknown; showReviewRating: unknown; showReviewContent: unknown...&apos;." source="TS2339" />
36233623
</file>
3624-
<file name="assets/js/blocks/reviews/reviews-by-category/edit.js">
3624+
<file name="assets/js/blocks/reviews/reviews-by-category/edit.tsx">
36253625
<error line="41" column="10" severity="error" message="Property &apos;editMode&apos; does not exist on type &apos;Object&apos;." source="TS2339" />
36263626
<error line="41" column="20" severity="error" message="Property &apos;categoryIds&apos; does not exist on type &apos;Object&apos;." source="TS2339" />
36273627
<error line="51" column="29" severity="error" message="Property &apos;categoryIds&apos; does not exist on type &apos;Object&apos;." source="TS2339" />
@@ -3632,7 +3632,7 @@
36323632
<error line="124" column="20" severity="error" message="Parameter &apos;value&apos; implicitly has an &apos;any[]&apos; type." source="TS7006" />
36333633
<error line="163" column="26" severity="error" message="Type &apos;() =&gt; JSX.Element&apos; is not assignable to type &apos;ReactElementLike&apos;." source="TS2322" />
36343634
</file>
3635-
<file name="assets/js/blocks/reviews/reviews-by-category/index.js">
3635+
<file name="assets/js/blocks/reviews/reviews-by-category/index.tsx">
36363636
<error line="19" column="1" severity="error" message="No overload matches this call.
36373637
Overload 1 of 2, &apos;(metadata: BlockConfiguration&lt;{ categoryIds: unknown; showProductName: unknown; editMode: unknown; imageType: unknown; orderby: unknown; reviewsOnLoadMore: unknown; reviewsOnPageLoad: unknown; showLoadMore: unknown; showOrderby: unknown; showReviewDate: unknown; showReviewerName: unknown; showReviewImage: unknown; showReviewRating: unknown; showReviewContent: unknown; previewReviews: unknown; }&gt;, settings?: Partial&lt;...&gt; | undefined): Block&lt;...&gt; | undefined&apos;, gave the following error.
36383638
Argument of type &apos;string&apos; is not assignable to parameter of type &apos;BlockConfiguration&lt;{ categoryIds: unknown; showProductName: unknown; editMode: unknown; imageType: unknown; orderby: unknown; reviewsOnLoadMore: unknown; reviewsOnPageLoad: unknown; showLoadMore: unknown; showOrderby: unknown; showReviewDate: unknown; showReviewerName: unknown; showReviewImage: unknown; showReviewRa...&apos;.

0 commit comments

Comments
 (0)