fix study server analysis on chapter change with network lag

closes #4130
round-proxy-get
Thibault Duplessis 2018-03-15 18:49:16 -05:00
parent bac6b36a83
commit 781ab9bda3
3 changed files with 9 additions and 6 deletions

View File

@ -34,11 +34,13 @@ object JsonView {
}).add("acpl" -> lila.analyse.Accuracy.mean(pov, analysis)))
def bothPlayers(game: Game, analysis: Analysis) = Json.obj(
"id" -> analysis.id,
"white" -> player(game.whitePov)(analysis),
"black" -> player(game.blackPov)(analysis)
)
def bothPlayers(pov: Accuracy.PovLike, analysis: Analysis) = Json.obj(
"id" -> analysis.id,
"white" -> player(pov.copy(color = chess.White))(analysis),
"black" -> player(pov.copy(color = chess.Black))(analysis)
)

View File

@ -64,6 +64,7 @@ export interface Division {
}
export interface Analysis {
id: string;
white: AnalysisSide;
black: AnalysisSide;
partial: boolean;

View File

@ -69,18 +69,18 @@ export function ctrl(root: AnalyseCtrl, chapterId: () => string): ServerEvalCtrl
export function view(ctrl: ServerEvalCtrl): VNode {
if (!ctrl.root.data.analysis) return ctrl.requested() ? requested() : requestButton(ctrl);
const analysis = ctrl.root.data.analysis;
return h('div.server_eval.ready.' + ctrl.chapterId(), {
if (!analysis) return ctrl.requested() ? requested() : requestButton(ctrl);
return h('div.server_eval.ready.' + analysis.id, {
hook: {
insert(vnode) {
ctrl.lastPly(false);
li.requestIdleCallback(() => {
li.loadScript('/assets/javascripts/chart/acpl.js').then(() => {
if (ctrl.root.data.analysis) {
li.advantageChart(ctrl.root.data, ctrl.root.trans, vnode.elm as HTMLElement);
ctrl.chartEl(vnode.elm as HTMLElement);
}
li.advantageChart(ctrl.root.data, ctrl.root.trans, vnode.elm as HTMLElement);
ctrl.chartEl(vnode.elm as HTMLElement);
});
});
}