Skip to content

Commit f015b5b

Browse files
authored
feat: make a cell editor it's own page (#4738)
1 parent 9b07b40 commit f015b5b

File tree

13 files changed

+243
-215
lines changed

13 files changed

+243
-215
lines changed

src/buckets/components/BucketCard.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ const BucketCard: FC<Props> = ({
6161
<BucketCardMeta bucket={bucket} />
6262
<BucketCardActions
6363
bucket={bucket}
64-
orgID={orgID}
6564
bucketType={bucket.type}
6665
onFilterChange={onFilterChange}
6766
onGetSchema={onGetBucketSchema}

src/buckets/components/BucketCardActions.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Libraries
22
import React, {FC} from 'react'
3-
import {RouteComponentProps, withRouter} from 'react-router-dom'
43
import {connect, ConnectedProps} from 'react-redux'
4+
import {useHistory, useParams} from 'react-router-dom'
55

66
// Components
77
import {
@@ -31,28 +31,27 @@ import {CLOUD} from 'src/shared/constants'
3131
interface OwnProps {
3232
bucket: OwnBucket
3333
bucketType: OwnBucket['type']
34-
orgID: string
3534
onFilterChange: (searchTerm: string) => void
3635
onGetSchema: (b: OwnBucket) => void
3736
}
3837

3938
type ReduxProps = ConnectedProps<typeof connector>
40-
type RouterProps = RouteComponentProps<{orgID: string}>
41-
type Props = OwnProps & ReduxProps & RouterProps
39+
type Props = OwnProps & ReduxProps
4240

4341
const BucketCardActions: FC<Props> = ({
4442
bucket,
4543
bucketType,
46-
orgID,
4744
onFilterChange,
4845
onGetSchema,
4946
onAddBucketLabel,
5047
onDeleteBucketLabel,
51-
history,
5248
onSetDataLoadersBucket,
5349
onSetDataLoadersType,
5450
setLocationOnDismiss,
5551
}) => {
52+
const history = useHistory()
53+
const {orgID} = useParams<{orgID: string}>()
54+
5655
if (bucketType === 'system') {
5756
return null
5857
}
@@ -163,4 +162,4 @@ const mdtp = {
163162

164163
const connector = connect(null, mdtp)
165164

166-
export default connector(withRouter(BucketCardActions))
165+
export default connector(BucketCardActions)

src/buckets/components/createBucketForm/UpdateBucketOverlay.tsx

Lines changed: 20 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import React, {
77
FormEvent,
88
useCallback,
99
} from 'react'
10-
import {withRouter, RouteComponentProps} from 'react-router-dom'
11-
import {connect, ConnectedProps, useDispatch} from 'react-redux'
10+
import {useParams, useHistory} from 'react-router-dom'
11+
import {useDispatch, useSelector} from 'react-redux'
1212
import {get} from 'lodash'
1313

1414
// Components
@@ -48,6 +48,7 @@ import {
4848
import {SchemaUpdateInfo} from 'src/buckets/components/createBucketForm/MeasurementSchemaSection'
4949

5050
import {getBucketOverlayWidth} from 'src/buckets/constants'
51+
import {getOrg} from 'src/organizations/selectors'
5152

5253
let SchemaType = null,
5354
MeasurementSchemaCreateRequest = null
@@ -58,25 +59,10 @@ if (CLOUD) {
5859
.MeasurementSchemaCreateRequest
5960
}
6061

61-
interface DispatchProps {
62-
onUpdateBucket: typeof updateBucket
63-
getSchema: typeof getBucketSchema
64-
onAddMeasurementSchemaToBucket: typeof addSchemaToBucket
65-
updateSchema: typeof updateMeasurementSchema
66-
}
67-
68-
type ReduxProps = ConnectedProps<typeof connector>
69-
type Props = ReduxProps & RouteComponentProps<{bucketID: string; orgID: string}>
70-
71-
const UpdateBucketOverlay: FunctionComponent<Props> = ({
72-
onUpdateBucket,
73-
getSchema,
74-
onAddMeasurementSchemaToBucket,
75-
updateSchema,
76-
match,
77-
history,
78-
}) => {
79-
const {orgID, bucketID} = match.params
62+
const UpdateBucketOverlay: FunctionComponent = () => {
63+
const history = useHistory()
64+
const {bucketID} = useParams<{bucketID: string}>()
65+
const orgID = useSelector(getOrg).id
8066
const dispatch = useDispatch()
8167
const [bucketDraft, setBucketDraft] = useState<OwnBucket>(null)
8268

@@ -114,7 +100,7 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
114100
setSchemaType(resp.data.schemaType)
115101

116102
if ('explicit' === resp.data.schemaType) {
117-
const schema = await getSchema(bucketID)
103+
const schema = await dispatch(getBucketSchema(bucketID))
118104
setMeasurementSchemaList(schema)
119105
}
120106

@@ -192,7 +178,7 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
192178
e.preventDefault()
193179

194180
if (isValid()) {
195-
onUpdateBucket(bucketDraft)
181+
dispatch(updateBucket(bucketDraft))
196182

197183
if (newMeasurementSchemaRequests?.length) {
198184
newMeasurementSchemaRequests.forEach(item => {
@@ -202,11 +188,13 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
202188
}
203189

204190
event('bucket.schema.explicit.editing.uploadSchema')
205-
onAddMeasurementSchemaToBucket(
206-
bucketDraft.id,
207-
bucketDraft.orgID,
208-
bucketDraft.name,
209-
createRequest
191+
dispatch(
192+
addSchemaToBucket(
193+
bucketDraft.id,
194+
bucketDraft.orgID,
195+
bucketDraft.name,
196+
createRequest
197+
)
210198
)
211199
})
212200
}
@@ -219,7 +207,9 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
219207
const {bucketID, id, name, orgID} = currentSchema
220208
const updateRequest = {columns}
221209
event('bucket.schema.explicit.editing.updateSchema')
222-
updateSchema(bucketID, id, name, updateRequest, orgID)
210+
dispatch(
211+
updateMeasurementSchema(bucketID, id, name, updateRequest, orgID)
212+
)
223213
})
224214
}
225215

@@ -278,16 +268,4 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
278268
)
279269
}
280270

281-
const mdtp = {
282-
onUpdateBucket: updateBucket,
283-
getSchema: getBucketSchema,
284-
onAddMeasurementSchemaToBucket: addSchemaToBucket,
285-
updateSchema: updateMeasurementSchema,
286-
}
287-
288-
const connector = connect(null, mdtp)
289-
290-
export default connect<{}, DispatchProps>(
291-
null,
292-
mdtp
293-
)(withRouter(UpdateBucketOverlay))
271+
export default UpdateBucketOverlay

src/checks/components/CheckCard.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Libraries
22
import React, {MouseEvent, FC} from 'react'
3-
import {connect, ConnectedProps} from 'react-redux'
4-
import {withRouter, RouteComponentProps} from 'react-router-dom'
3+
import {connect, ConnectedProps, useSelector} from 'react-redux'
4+
import {useHistory} from 'react-router-dom'
55

66
// Components
77
import {
@@ -48,13 +48,14 @@ import {event} from 'src/cloud/utils/reporting'
4848
import {isFlagEnabled} from 'src/shared/utils/featureFlag'
4949
import {shouldOpenLinkInNewTab} from 'src/utils/crossPlatform'
5050
import {safeBlankLinkOpen} from 'src/utils/safeBlankLinkOpen'
51+
import {getOrg} from 'src/organizations/selectors'
5152

5253
interface OwnProps {
5354
check: Check
5455
}
5556

5657
type ReduxProps = ConnectedProps<typeof connector>
57-
type Props = OwnProps & ReduxProps & RouteComponentProps<{orgID: string}>
58+
type Props = OwnProps & ReduxProps
5859

5960
const CheckCard: FC<Props> = ({
6061
onRemoveCheckLabel,
@@ -64,11 +65,9 @@ const CheckCard: FC<Props> = ({
6465
check,
6566
onUpdateCheckDisplayProperties,
6667
deleteCheck,
67-
match: {
68-
params: {orgID},
69-
},
70-
history,
7168
}) => {
69+
const history = useHistory()
70+
const orgID = useSelector(getOrg).id
7271
const {activeStatus, description, id, name, taskID} = check
7372

7473
const checkUrl = `/orgs/${orgID}/alerting/checks/${id}/edit`
@@ -231,4 +230,4 @@ const mdtp = {
231230

232231
const connector = connect(null, mdtp)
233232

234-
export default connector(withRouter(CheckCard))
233+
export default connector(CheckCard)

src/checks/components/ChecksColumn.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Libraries
22
import React, {FunctionComponent} from 'react'
3-
import {withRouter, RouteComponentProps} from 'react-router-dom'
4-
import {connect, ConnectedProps} from 'react-redux'
3+
import {useHistory} from 'react-router-dom'
4+
import {connect, ConnectedProps, useSelector} from 'react-redux'
55

66
// Selectors
77
import {getAll} from 'src/resources/selectors'
@@ -28,25 +28,24 @@ import {
2828

2929
// Utils
3030
import {extractChecksLimits} from 'src/cloud/utils/limits'
31+
import {getOrg} from 'src/organizations/selectors'
3132

3233
interface OwnProps {
3334
tabIndex: number
3435
}
3536

3637
type ReduxProps = ConnectedProps<typeof connector>
37-
type Props = OwnProps & ReduxProps & RouteComponentProps<{orgID: string}>
38+
type Props = OwnProps & ReduxProps
3839

3940
const ChecksColumn: FunctionComponent<Props> = ({
4041
checks,
41-
history,
42-
match: {
43-
params: {orgID},
44-
},
4542
rules,
4643
endpoints,
4744
limitStatus,
4845
tabIndex,
4946
}) => {
47+
const history = useHistory()
48+
const orgID = useSelector(getOrg).id
5049
const handleCreateThreshold = () => {
5150
history.push(`/orgs/${orgID}/alerting/checks/new-threshold`)
5251
}
@@ -129,4 +128,4 @@ const mstp = (state: AppState) => {
129128

130129
const connector = connect(mstp)
131130

132-
export default connector(withRouter(ChecksColumn))
131+
export default connector(ChecksColumn)

src/checks/components/EditCheckEO.tsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Libraries
22
import React, {FunctionComponent, useEffect} from 'react'
3-
import {withRouter, RouteComponentProps} from 'react-router-dom'
4-
import {connect, ConnectedProps, useDispatch} from 'react-redux'
3+
import {useParams, useHistory} from 'react-router-dom'
4+
import {connect, ConnectedProps, useDispatch, useSelector} from 'react-redux'
55
import {get} from 'lodash'
66

77
// Components
@@ -22,24 +22,23 @@ import {resetAlertBuilder, updateName} from 'src/alerting/actions/alertBuilder'
2222

2323
// Types
2424
import {AppState, RemoteDataState} from 'src/types'
25+
import {getOrg} from 'src/organizations/selectors'
2526

26-
type ReduxProps = ConnectedProps<typeof connector>
27-
type Props = RouteComponentProps<{orgID: string; checkID: string}> & ReduxProps
27+
type Props = ConnectedProps<typeof connector>
2828

2929
const EditCheckEditorOverlay: FunctionComponent<Props> = ({
3030
onUpdateAlertBuilderName,
3131
onResetAlertBuilder,
3232
onSaveCheckFromTimeMachine,
3333
activeTimeMachineID,
3434
status,
35-
history,
36-
match: {
37-
params: {checkID, orgID},
38-
},
3935
checkName,
4036
loadedCheckID,
4137
view,
4238
}) => {
39+
const history = useHistory()
40+
const {checkID} = useParams<{checkID}>()
41+
const orgID = useSelector(getOrg).id
4342
const dispatch = useDispatch()
4443
const query = get(view, 'properties.queries[0]', null)
4544

@@ -116,4 +115,4 @@ const mdtp = {
116115

117116
const connector = connect(mstp, mdtp)
118117

119-
export default connector(withRouter(EditCheckEditorOverlay))
118+
export default connector(EditCheckEditorOverlay)

0 commit comments

Comments
 (0)