From 4d604154add6b2a5b086c243e5a4088f638c3c72 Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Thu, 24 Jan 2019 19:15:55 +0000 Subject: [PATCH] push game-config through the history generation --- src/cljc/elo/games.cljc | 40 ++++++++++++++---------- src/cljs/elo/league_detail/handlers.cljs | 10 ++++-- src/cljs/elo/league_detail/views.cljs | 3 +- 3 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/cljc/elo/games.cljc b/src/cljc/elo/games.cljc index 5093a63..de41935 100644 --- a/src/cljc/elo/games.cljc +++ b/src/cljc/elo/games.cljc @@ -80,6 +80,7 @@ (get-rankings games players shared/default-game-config)) ([games players config] + (println "config =" config) (let [norm-games (map elo/normalize-game games) rankings (elo/compute-rankings norm-games (map :id players) @@ -112,26 +113,33 @@ (:p2_points game))) (defn rankings-at-idx* - [players idx all-games] - (let [current-game (nth all-games idx) - name-mapping (player->names players) - common-map - {:game-idx idx - :time (:played_at current-game) - :result (game-result current-game name-mapping)} + ([players idx all-games] + (rankings-at-idx* players idx all-games shared/default-game-config)) - rankings (get-rankings (take idx all-games) players)] + ([players idx all-games game-config] + (let [current-game (nth all-games idx) + name-mapping (player->names players) + common-map + {:game-idx idx + :time (:played_at current-game) + :result (game-result current-game name-mapping)} - (map #(merge % common-map) - (for [r (filter #(plays? current-game (:id %)) rankings)] - {:ranking (:ranking r) - :player (name-mapping (:id r))})))) + rankings (get-rankings (take idx all-games) players)] + + (map #(merge % common-map) + (for [r (filter #(plays? current-game (:id %)) rankings)] + {:ranking (:ranking r) + :player (name-mapping (:id r))}))))) (defn rankings-history - [players games] - (flatten - (for [idx (range (count games))] - (rankings-at-idx* players idx games)))) + ([players games] + (rankings-history players games shared/default-game-config)) + + ([players games game-config] + (println "rankings history:" "config = " game-config) + (flatten + (for [idx (range (count games))] + (rankings-at-idx* players idx games game-config))))) (defn longest-winning-subseq [s] diff --git a/src/cljs/elo/league_detail/handlers.cljs b/src/cljs/elo/league_detail/handlers.cljs index e424161..7fabcc7 100644 --- a/src/cljs/elo/league_detail/handlers.cljs +++ b/src/cljs/elo/league_detail/handlers.cljs @@ -92,11 +92,13 @@ :<- [::visible-players] :<- [::games-live-players] :<- [::up-to-games] + :<- [::game-config] - (fn [[players visible-players games up-to] _] + (fn [[players visible-players games up-to game-config] _] + (js/console.log "Recomputing rankings history") (let [visible-players-names (set (map :name visible-players)) full-rankings - (games/rankings-history players (truncate-games games up-to))] + (games/rankings-history players (truncate-games games up-to) game-config)] (->> full-rankings (filter #(contains? visible-players-names (:player %))))))) @@ -330,8 +332,10 @@ (rf/reg-sub ::rankings-history-vega :<- [::rankings-history] + :<- [::game-config] - (fn [history] + (fn [[history game-config]] + (js/console.log "history changed now") (let [kw->keyname {:player "Player" :ranking "Ranking" :game-idx "Game #" diff --git a/src/cljs/elo/league_detail/views.cljs b/src/cljs/elo/league_detail/views.cljs index a8bbbe1..3ab01f1 100644 --- a/src/cljs/elo/league_detail/views.cljs +++ b/src/cljs/elo/league_detail/views.cljs @@ -313,6 +313,7 @@ (let [history (rf/subscribe [::handlers/rankings-history-vega]) rankings-domain (rf/subscribe [::handlers/rankings-domain])] (fn [] + (js/console.log "Recomputing the history and the rankings domain") [vega/vega-inner @history @rankings-domain]))) (defn- percent @@ -395,6 +396,6 @@ [stats-component ::stats-specs/best-percents]] [:div.section.vega__table [vega-outer]] - #_[:div.section.game__config [game-config]] + [:div.section.game__config [game-config]] [:div.section.rankings__table [rankings-table]] [:div.section.games__table [games-table]]]))