fix study server analysis on chapter change with network lag
closes #4130
This commit is contained in:
parent
bac6b36a83
commit
781ab9bda3
|
@ -34,11 +34,13 @@ object JsonView {
|
||||||
}).add("acpl" -> lila.analyse.Accuracy.mean(pov, analysis)))
|
}).add("acpl" -> lila.analyse.Accuracy.mean(pov, analysis)))
|
||||||
|
|
||||||
def bothPlayers(game: Game, analysis: Analysis) = Json.obj(
|
def bothPlayers(game: Game, analysis: Analysis) = Json.obj(
|
||||||
|
"id" -> analysis.id,
|
||||||
"white" -> player(game.whitePov)(analysis),
|
"white" -> player(game.whitePov)(analysis),
|
||||||
"black" -> player(game.blackPov)(analysis)
|
"black" -> player(game.blackPov)(analysis)
|
||||||
)
|
)
|
||||||
|
|
||||||
def bothPlayers(pov: Accuracy.PovLike, analysis: Analysis) = Json.obj(
|
def bothPlayers(pov: Accuracy.PovLike, analysis: Analysis) = Json.obj(
|
||||||
|
"id" -> analysis.id,
|
||||||
"white" -> player(pov.copy(color = chess.White))(analysis),
|
"white" -> player(pov.copy(color = chess.White))(analysis),
|
||||||
"black" -> player(pov.copy(color = chess.Black))(analysis)
|
"black" -> player(pov.copy(color = chess.Black))(analysis)
|
||||||
)
|
)
|
||||||
|
|
|
@ -64,6 +64,7 @@ export interface Division {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Analysis {
|
export interface Analysis {
|
||||||
|
id: string;
|
||||||
white: AnalysisSide;
|
white: AnalysisSide;
|
||||||
black: AnalysisSide;
|
black: AnalysisSide;
|
||||||
partial: boolean;
|
partial: boolean;
|
||||||
|
|
|
@ -69,18 +69,18 @@ export function ctrl(root: AnalyseCtrl, chapterId: () => string): ServerEvalCtrl
|
||||||
|
|
||||||
export function view(ctrl: ServerEvalCtrl): VNode {
|
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: {
|
hook: {
|
||||||
insert(vnode) {
|
insert(vnode) {
|
||||||
ctrl.lastPly(false);
|
ctrl.lastPly(false);
|
||||||
li.requestIdleCallback(() => {
|
li.requestIdleCallback(() => {
|
||||||
li.loadScript('/assets/javascripts/chart/acpl.js').then(() => {
|
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);
|
||||||
li.advantageChart(ctrl.root.data, ctrl.root.trans, vnode.elm as HTMLElement);
|
ctrl.chartEl(vnode.elm as HTMLElement);
|
||||||
ctrl.chartEl(vnode.elm as HTMLElement);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue