Add sessionId to itsr query string
Summary: This will allow rating data to be joined with version number so we can get the rating of each release. Reviewed By: mweststrate Differential Revision: D18297808 fbshipit-source-id: 00f151c64aad40632389f728ad25a565f44a2a90
This commit is contained in:
committed by
Facebook Github Bot
parent
b2cf34bc2f
commit
ed2343b3c6
@@ -21,8 +21,14 @@ import {
|
|||||||
import GK from '../fb-stubs/GK';
|
import GK from '../fb-stubs/GK';
|
||||||
import * as UserFeedback from '../fb-stubs/UserFeedback';
|
import * as UserFeedback from '../fb-stubs/UserFeedback';
|
||||||
import {FeedbackPrompt} from '../fb-stubs/UserFeedback';
|
import {FeedbackPrompt} from '../fb-stubs/UserFeedback';
|
||||||
|
import {connect} from 'react-redux';
|
||||||
|
import {State as Store} from 'src/reducers';
|
||||||
|
|
||||||
type Props = {
|
type PropsFromState = {
|
||||||
|
sessionId: string | null;
|
||||||
|
};
|
||||||
|
|
||||||
|
type OwnProps = {
|
||||||
onRatingChanged: (rating: number) => void;
|
onRatingChanged: (rating: number) => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -281,14 +287,14 @@ class FeedbackComponent extends Component<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class RatingButton extends Component<Props, State> {
|
class RatingButton extends Component<PropsFromState & OwnProps, State> {
|
||||||
state: State = {
|
state: State = {
|
||||||
promptData: null,
|
promptData: null,
|
||||||
isShown: false,
|
isShown: false,
|
||||||
hasTriggered: false,
|
hasTriggered: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(props: Props) {
|
constructor(props: PropsFromState & OwnProps) {
|
||||||
super(props);
|
super(props);
|
||||||
if (GK.get('flipper_rating')) {
|
if (GK.get('flipper_rating')) {
|
||||||
UserFeedback.getPrompt().then(prompt => {
|
UserFeedback.getPrompt().then(prompt => {
|
||||||
@@ -302,12 +308,12 @@ export default class RatingButton extends Component<Props, State> {
|
|||||||
const willBeShown = !this.state.isShown;
|
const willBeShown = !this.state.isShown;
|
||||||
this.setState({isShown: willBeShown, hasTriggered: true});
|
this.setState({isShown: willBeShown, hasTriggered: true});
|
||||||
if (!willBeShown) {
|
if (!willBeShown) {
|
||||||
UserFeedback.dismiss();
|
UserFeedback.dismiss(this.props.sessionId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
submitRating(rating: number) {
|
submitRating(rating: number) {
|
||||||
UserFeedback.submitRating(rating);
|
UserFeedback.submitRating(rating, this.props.sessionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
submitComment(
|
submitComment(
|
||||||
@@ -321,6 +327,7 @@ export default class RatingButton extends Component<Props, State> {
|
|||||||
comment,
|
comment,
|
||||||
selectedPredefinedComments,
|
selectedPredefinedComments,
|
||||||
allowUserInfoSharing,
|
allowUserInfoSharing,
|
||||||
|
this.props.sessionId,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,3 +377,7 @@ export default class RatingButton extends Component<Props, State> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default connect<{sessionId: string | null}, null, OwnProps, Store>(
|
||||||
|
({application: {sessionId}}) => ({sessionId}),
|
||||||
|
)(RatingButton);
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ export type FeedbackPrompt = {
|
|||||||
shouldPopup: boolean;
|
shouldPopup: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function submitRating(rating: number): Promise<void> {
|
export async function submitRating(
|
||||||
|
rating: number,
|
||||||
|
sessionId: string | null,
|
||||||
|
): Promise<void> {
|
||||||
throw new Error('Method not implemented.');
|
throw new Error('Method not implemented.');
|
||||||
}
|
}
|
||||||
export async function submitComment(
|
export async function submitComment(
|
||||||
@@ -26,10 +29,11 @@ export async function submitComment(
|
|||||||
comment: string,
|
comment: string,
|
||||||
selectedPredefinedComments: string[],
|
selectedPredefinedComments: string[],
|
||||||
allowUserInfoSharing: boolean,
|
allowUserInfoSharing: boolean,
|
||||||
|
sessionId: string | null,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
throw new Error('Method not implemented.');
|
throw new Error('Method not implemented.');
|
||||||
}
|
}
|
||||||
export async function dismiss(): Promise<void> {
|
export async function dismiss(sessionId: string | null): Promise<void> {
|
||||||
throw new Error('Method not implemented.');
|
throw new Error('Method not implemented.');
|
||||||
}
|
}
|
||||||
export async function getPrompt(): Promise<FeedbackPrompt> {
|
export async function getPrompt(): Promise<FeedbackPrompt> {
|
||||||
|
|||||||
Reference in New Issue
Block a user