in packages/issue-dashboard-widgets/widgets/youtrack-issues-list/app/issues-list-widget.js [197:232]
setYouTrack(youTrackService, onAfterYouTrackSetFunction) {
const {homeUrl} = youTrackService;
this.setState({
youTrack: {
id: youTrackService.id, homeUrl
}
}, async () => await onAfterYouTrackSetFunction());
if (IssuesListWidget.youTrackServiceNeedsUpdate(youTrackService)) {
const {dashboardApi} = this.props;
ServiceResources.getYouTrackService(
dashboardApi, youTrackService.id
).then(
updatedYouTrackService => {
const shouldReSetYouTrack = updatedYouTrackService &&
!IssuesListWidget.youTrackServiceNeedsUpdate(
updatedYouTrackService
) && updatedYouTrackService.homeUrl !== homeUrl;
if (shouldReSetYouTrack) {
this.setYouTrack(
updatedYouTrackService, onAfterYouTrackSetFunction
);
if (!this.state.isConfiguring && this.props.editable) {
this.props.configWrapper.update({
youTrack: {
id: updatedYouTrackService.id,
homeUrl: updatedYouTrackService.homeUrl
}
});
}
}
}
);
}
}