From da8341f08b35588974d93baf3bdf0d37346bcc58 Mon Sep 17 00:00:00 2001 From: bluesaxman Date: Wed, 20 May 2020 21:01:44 -0600 Subject: [PATCH] Mixing decks implemented --- README.md | 3 --- index.html | 33 ++++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 80ad6ac..c0ed7c4 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,3 @@ A more advanced example uses an array of "decks" to build a single deck. "joker":["joker"] }] ``` - -Things not yet supported: - * Mixing decks \ No newline at end of file diff --git a/index.html b/index.html index c4a8ff6..1102ce0 100644 --- a/index.html +++ b/index.html @@ -48,6 +48,16 @@ function shuffleDeck(deck) { }); } +function deckFromJSON(ourFile) { + if ( Array.isArray(ourFile) ) { + ourFile.forEach(function (deck) { + window.deck = window.deck.concat(generateDeck(deck)); + }); + } else { + window.deck = window.deck.concat(generateDeck(ourFile)); + } +} + elementPlace("body","menu",null,"div"); buttonAdd("#menu","upload","Upload Deck", function () { popupDialog("deckLoader","Select Deck definition File",true,inputDialog,{"inputType":"file"},function (f) { @@ -55,20 +65,25 @@ buttonAdd("#menu","upload","Upload Deck", function () { myFile.onload = function (file) { // Probably validate the file somehow befor eating it var ourFile = JSON.parse(file.target.result); - if ( Array.isArray(ourFile) ) { - window.deck = []; - ourFile.forEach(function (deck) { - window.deck = window.deck.concat(generateDeck(deck)); - }); - } else { - window.deck = generateDeck(JSON.parse(file.target.result)); - } + window.deck = []; + deckFromJSON(ourFile); window.hand = []; updateEvent(); } myFile.readAsText(f[0]); - }) + }); },null,"div"); +buttonAdd("#menu","add","Add Deck", function () { + popupDialog("deckLoader","Select Deck definition to add",true,inputDialog,{"inputType":"file"},function (f) { + var myFile = new FileReader(); + myFile.onload = function (file) { + var ourFile = JSON.parse(file.target.result); + deckFromJSON(ourFile); + updateEvent(); + } + myFile.readAsText(f[0]); +}); +}, null, "div"); buttonAdd("#menu","shuffle", "Shuffle Deck", function () { shuffleDeck(window.deck); }, null, "div");