| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'www')
| -rw-r--r-- | www/index.html | 7 | ||||
| -rw-r--r-- | www/script/load.js | 12 | ||||
| -rw-r--r-- | www/script/params.js | 91 | 
3 files changed, 106 insertions, 4 deletions
| diff --git a/www/index.html b/www/index.html index f0fc53c..10a422b 100644 --- a/www/index.html +++ b/www/index.html @@ -4,9 +4,8 @@        <link rel="stylesheet" type="text/css" href="/style.css">     </head>     <body> -      <script src="script/main.js"></script> -      <script> -         tacticians_online_app = Elm.Main.fullscreen(); -      </script> +      <script src="/www/script/params.js"></script> +      <script src="/www/script/main.js"></script> +      <script src="/www/script/load.js"></script>     </body>  </html> diff --git a/www/script/load.js b/www/script/load.js new file mode 100644 index 0000000..c09570b --- /dev/null +++ b/www/script/load.js @@ -0,0 +1,12 @@ +tacticians_online.params.load(); + +tacticians_online.app = +   Elm.Main.fullscreen +   ( +      { +         frequency: tacticians_online.params.get_frequency(), +         players: tacticians_online.params.get_players() +      } +   ); + +tacticians_online.params.attach_to(tacticians_online.app); diff --git a/www/script/params.js b/www/script/params.js new file mode 100644 index 0000000..440a491 --- /dev/null +++ b/www/script/params.js @@ -0,0 +1,91 @@ +/******************************************************************************/ +/** Session Management ********************************************************/ +/******************************************************************************/ +var tacticians_online = tacticians_online || new Object(); + +tacticians_online.params = new Object(); + +tacticians_online.params.private = new Object(); +tacticians_online.params.private.frequency = 15; +tacticians_online.params.private.players = []; + +tacticians_online.params.store = +function () +{ +   localStorage.setItem +   ( +      "frequency", +      tacticians_online.params.private.frequency +   ); + +   localStorage.setItem("players", tacticians_online.params.private.players); +} + +tacticians_online.params.reset = +function () +{ +   localStorage.removeItem("frequency"); +   localStorage.removeItem("players"); +} + +tacticians_online.params.load = +function () +{ +   tacticians_online.params.private.frequency = +      localStorage.getItem("frequency"); + +   tacticians_online.params.private.players = localStorage.getItem("players"); + +   if (tacticians_online.params.private.frequency == null) +   { +      tacticians_online.params.private.frequency = 15; +   } + +   if (tacticians_online.params.private.players == null) +   { +      tacticians_online.params.private.players = []; +   } +} + +tacticians_online.params.get_frequency = +function () +{ +   return tacticians_online.params.private.frequency; +} + +tacticians_online.params.get_players = +function () +{ +   return tacticians_online.params.private.players; +} + +tacticians_online.params.set_frequency = +function (frequency) +{ +   tacticians_online.params.private.frequency = frequency; +} + +tacticians_online.params.set_players = +function (players) +{ +   tacticians_online.params.private.players = players; +} + +tacticians_online.params.store_new_params = +function (params) +{ +   var [frequency, players] = params; +   tacticians_online.params.set_frequency(frequency); +   tacticians_online.params.set_players(players); +   tacticians_online.params.store(); +} + +tacticians_online.params.attach_to = +function (app) +{ +   app.ports.store_new_params.subscribe( +      tacticians_online.params.store_new_params +   ); + +   app.ports.reset_params.subscribe(tacticians_online.params.reset); +} | 


