Skip to content

Commit f2f1250

Browse files
committed
components: replace defaultProps with default params
* Replaces `defaultProps` declarations with ES6 default parameter syntax across all function components. React 18 deprecates defaultProps on function components, producing console errors. * Fixes currentResultsState propType from array to object. * Fixes index propType from string to number.
1 parent d64a486 commit f2f1250

29 files changed

Lines changed: 111 additions & 258 deletions

File tree

src/demos/cern-videos-namespaced/Results.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ export class Results extends Component {
7070
}
7171

7272
Results.propTypes = {
73-
currentResultsState: PropTypes.array.isRequired,
73+
currentResultsState: PropTypes.object.isRequired,
7474
sortValues: PropTypes.array.isRequired,
7575
resultsPerPageValues: PropTypes.array.isRequired,
7676
};
77-
78-
Results.defaultProps = {};

src/demos/cern-videos/App.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ const CERNVideosResultsListItem = ({ result, index }) => {
9898

9999
CERNVideosResultsListItem.propTypes = {
100100
result: PropTypes.object.isRequired,
101-
index: PropTypes.string.isRequired,
101+
index: PropTypes.number,
102102
};
103103

104104
const CERNVideosResultsGridItem = ({ result, index }) => {
@@ -119,7 +119,7 @@ const CERNVideosResultsGridItem = ({ result, index }) => {
119119

120120
CERNVideosResultsGridItem.propTypes = {
121121
result: PropTypes.object.isRequired,
122-
index: PropTypes.string.isRequired,
122+
index: PropTypes.number,
123123
};
124124

125125
const overriddenComponents = {

src/demos/cern-videos/Results.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ export class Results extends Component {
7070
}
7171

7272
Results.propTypes = {
73-
currentResultsState: PropTypes.array.isRequired,
73+
currentResultsState: PropTypes.object.isRequired,
7474
sortValues: PropTypes.array.isRequired,
7575
resultsPerPageValues: PropTypes.array.isRequired,
7676
};
77-
78-
Results.defaultProps = {};

src/demos/opensearch/App.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import _truncate from "lodash/truncate";
1010
import PropTypes from "prop-types";
1111
import { Component } from "react";
12+
import { connect } from "react-redux";
1213
import { OverridableContext } from "react-overridable";
1314
import {
1415
Button,
@@ -21,6 +22,7 @@ import {
2122
Menu,
2223
} from "semantic-ui-react";
2324
import { OSSearchApi } from "../../lib/api/contrib/opensearch";
25+
import { updateQueryFilters } from "../../lib/state/actions";
2426
import {
2527
BucketAggregation,
2628
RangeFacet,
@@ -79,9 +81,8 @@ const customAggValueCmp = (
7981

8082
class Tags extends Component {
8183
onClick = (event, value) => {
82-
window.history.push({
83-
search: `${window.location.search}&f=tags_agg:${value}`,
84-
});
84+
const { updateQueryFilters } = this.props;
85+
updateQueryFilters(["tags_agg", value]);
8586
event.preventDefault();
8687
};
8788

@@ -102,8 +103,13 @@ class Tags extends Component {
102103

103104
Tags.propTypes = {
104105
tags: PropTypes.array.isRequired,
106+
updateQueryFilters: PropTypes.func.isRequired,
105107
};
106108

109+
const TagsComponent = connect(null, (dispatch) => ({
110+
updateQueryFilters: (filter) => dispatch(updateQueryFilters(filter)),
111+
}))(Tags);
112+
107113
const OpenSearchResultsListItem = ({ result, index }) => {
108114
return (
109115
<Item key={index} href="#">
@@ -119,7 +125,7 @@ const OpenSearchResultsListItem = ({ result, index }) => {
119125
{_truncate(result.about, { length: 200 })}
120126
</Item.Description>
121127
<Item.Extra>
122-
<Tags tags={result.tags} />
128+
<TagsComponent tags={result.tags} />
123129
</Item.Extra>
124130
</Item.Content>
125131
</Item>
@@ -128,7 +134,7 @@ const OpenSearchResultsListItem = ({ result, index }) => {
128134

129135
OpenSearchResultsListItem.propTypes = {
130136
result: PropTypes.object.isRequired,
131-
index: PropTypes.string.isRequired,
137+
index: PropTypes.number,
132138
};
133139

134140
const OpenSearchResultsGridItem = ({ result, index }) => {
@@ -144,15 +150,15 @@ const OpenSearchResultsGridItem = ({ result, index }) => {
144150
</Card.Description>
145151
</Card.Content>
146152
<Card.Content extra>
147-
<Tags tags={result.tags} />
153+
<TagsComponent tags={result.tags} />
148154
</Card.Content>
149155
</Card>
150156
);
151157
};
152158

153159
OpenSearchResultsGridItem.propTypes = {
154160
result: PropTypes.object.isRequired,
155-
index: PropTypes.string.isRequired,
161+
index: PropTypes.number,
156162
};
157163

158164
const overriddenComponents = {

src/demos/opensearch/Results.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,5 @@ export function Results(props) {
4646
}
4747

4848
Results.propTypes = {
49-
currentResultsState: PropTypes.array.isRequired,
49+
currentResultsState: PropTypes.object.isRequired,
5050
};
51-
52-
Results.defaultProps = {};

src/demos/zenodo/App.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ export const ZenodoResultsListItem = ({ result, index }) => {
112112

113113
ZenodoResultsListItem.propTypes = {
114114
result: PropTypes.object.isRequired,
115-
index: PropTypes.string.isRequired,
115+
index: PropTypes.number,
116116
};
117117

118118
export const ZenodoResultsGridItem = ({ result, index }) => {
@@ -132,7 +132,7 @@ export const ZenodoResultsGridItem = ({ result, index }) => {
132132

133133
ZenodoResultsGridItem.propTypes = {
134134
result: PropTypes.object.isRequired,
135-
index: PropTypes.string.isRequired,
135+
index: PropTypes.number,
136136
};
137137

138138
const overriddenComponents = {

src/demos/zenodo/Results.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ export class Results extends Component {
7070
}
7171

7272
Results.propTypes = {
73-
currentResultsState: PropTypes.array.isRequired,
73+
currentResultsState: PropTypes.object.isRequired,
7474
sortValues: PropTypes.array.isRequired,
7575
resultsPerPageValues: PropTypes.array.isRequired,
7676
};
77-
78-
Results.defaultProps = {};

src/lib/components/ActiveFilters/ActiveFilters.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,12 @@ ActiveFilters.defaultProps = {
6060
overridableId: "",
6161
};
6262

63-
const Element = ({ overridableId, filters, removeActiveFilter, getLabel }) => {
63+
const Element = ({
64+
overridableId = "",
65+
filters,
66+
removeActiveFilter,
67+
getLabel,
68+
}) => {
6469
const { buildUID } = useContext(AppContext);
6570

6671
return (
@@ -97,8 +102,4 @@ Element.propTypes = {
97102
overridableId: PropTypes.string,
98103
};
99104

100-
Element.defaultProps = {
101-
overridableId: "",
102-
};
103-
104105
export default Overridable.component("ActiveFilters", ActiveFilters);

src/lib/components/BucketAggregation/BucketAggregation.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,10 @@ BucketAggregation.defaultProps = {
106106
};
107107

108108
const Element = ({
109-
overridableId,
109+
overridableId = "",
110110
agg,
111111
title,
112-
containerCmp,
112+
containerCmp = null,
113113
updateQueryFilters,
114114
}) => {
115115
const { buildUID } = useContext(AppContext);
@@ -142,9 +142,4 @@ Element.propTypes = {
142142
updateQueryFilters: PropTypes.func.isRequired,
143143
};
144144

145-
Element.defaultProps = {
146-
containerCmp: null,
147-
overridableId: "",
148-
};
149-
150145
export default Overridable.component("BucketAggregation", BucketAggregation);

src/lib/components/BucketAggregation/BucketAggregationValues.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ BucketAggregationValues.defaultProps = {
113113
overridableId: "",
114114
};
115115

116-
const ContainerElement = ({ valuesCmp, overridableId }) => {
116+
const ContainerElement = ({ valuesCmp, overridableId = "" }) => {
117117
const { buildUID } = useContext(AppContext);
118118

119119
return (
@@ -131,16 +131,12 @@ ContainerElement.propTypes = {
131131
overridableId: PropTypes.string,
132132
};
133133

134-
ContainerElement.defaultProps = {
135-
overridableId: "",
136-
};
137-
138134
const ValueElement = ({
139135
bucket,
140136
isSelected,
141137
onFilterClicked,
142138
getChildAggCmps,
143-
overridableId,
139+
overridableId = "",
144140
keyField,
145141
}) => {
146142
const { buildUID, nextComponentIndex } = useContext(AppContext);
@@ -183,10 +179,6 @@ ValueElement.propTypes = {
183179
overridableId: PropTypes.string,
184180
};
185181

186-
ValueElement.defaultProps = {
187-
overridableId: "",
188-
};
189-
190182
export default Overridable.component(
191183
"BucketAggregationValues",
192184
BucketAggregationValues

0 commit comments

Comments
 (0)