Skip to content

Commit

Permalink
Add onbeforeunload and have it call onCancel (#7335)
Browse files Browse the repository at this point in the history
* Add onbeforeunload and have it call onCancel

* Address PR feedback

* Get integration tests passing again

* Add underscores

* Add ENVIRONMENT_TYPE_NOTIFICATION check

* Add _beforeUnload + metricsEvent
  • Loading branch information
rickycodes authored Nov 6, 2019
1 parent b27b568 commit 02aebc2
Showing 1 changed file with 28 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import PropTypes from 'prop-types'
import React, {PureComponent} from 'react'
import { ProviderPageContainerContent, ProviderPageContainerHeader } from '.'
import { PageContainerFooter } from '../../ui/page-container'
import { ENVIRONMENT_TYPE_NOTIFICATION } from '../../../../../app/scripts/lib/enums'
import { getEnvironmentType } from '../../../../../app/scripts/lib/util'

export default class ProviderPageContainer extends PureComponent {
static propTypes = {
Expand All @@ -20,6 +22,9 @@ export default class ProviderPageContainer extends PureComponent {
};

componentDidMount () {
if (getEnvironmentType(window.location.href) === ENVIRONMENT_TYPE_NOTIFICATION) {
window.addEventListener('beforeunload', this._beforeUnload)
}
this.context.metricsEvent({
eventOpts: {
category: 'Auth',
Expand All @@ -29,6 +34,27 @@ export default class ProviderPageContainer extends PureComponent {
})
}

_beforeUnload () {
const { origin, rejectProviderRequestByOrigin } = this.props
this.context.metricsEvent({
eventOpts: {
category: 'Auth',
action: 'Connect',
name: 'Cancel Connect Request Via Notification Close',
},
})
this._removeBeforeUnload()
rejectProviderRequestByOrigin(origin)
}

_removeBeforeUnload () {
window.removeEventListener('beforeunload', this._beforeUnload)
}

componentWillUnmount () {
this._removeBeforeUnload()
}

onCancel = () => {
const { origin, rejectProviderRequestByOrigin } = this.props
this.context.metricsEvent({
Expand All @@ -38,6 +64,7 @@ export default class ProviderPageContainer extends PureComponent {
name: 'Canceled',
},
})
this._removeBeforeUnload()
rejectProviderRequestByOrigin(origin)
}

Expand All @@ -50,6 +77,7 @@ export default class ProviderPageContainer extends PureComponent {
name: 'Confirmed',
},
})
this._removeBeforeUnload()
approveProviderRequestByOrigin(origin)
}

Expand Down

0 comments on commit 02aebc2

Please sign in to comment.