in packages/issue-dashboard-widgets/widgets/due-dates-calendar/app/due_dates_calendar_widget.js [264:300]
setYouTrack(youTrackService, onAfterYouTrackSetFunction) {
const {homeUrl} = youTrackService;
this.setState({
youTrack: {
id: youTrackService.id, homeUrl
}
}, async () => await onAfterYouTrackSetFunction());
if (DueDatesCalendarWidget.youTrackServiceNeedsUpdate(youTrackService)) {
const {dashboardApi} = this.props;
ServiceResource.getYouTrackService(
dashboardApi.fetchHub.bind(dashboardApi),
youTrackService.id
).then(
updatedYouTrackService => {
const shouldReSetYouTrack = updatedYouTrackService &&
!DueDatesCalendarWidget.youTrackServiceNeedsUpdate(
updatedYouTrackService
) && updatedYouTrackService.homeUrl !== homeUrl;
if (shouldReSetYouTrack) {
this.setYouTrack(
updatedYouTrackService, onAfterYouTrackSetFunction
);
if (!this.state.isConfiguring) {
this.props.configWrapper.update({
youTrack: {
id: updatedYouTrackService.id,
homeUrl: updatedYouTrackService.homeUrl
}
});
}
}
}
);
}
}