From 299008f5143d8564eaac044cb76b9fb134dce911 Mon Sep 17 00:00:00 2001 From: devfake <devfakeplus@googlemail.com> Date: Thu, 25 Jun 2015 21:19:07 +0200 Subject: [PATCH 1/3] merge multiple cards --- .../deck-builder/components/deck-builder.js | 32 ++++++++++++++++--- .../deck-builder/views/deck-builder.html | 14 ++++---- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/site/client/app/modules/deck-builder/components/deck-builder.js b/site/client/app/modules/deck-builder/components/deck-builder.js index 2f52725..95b3d85 100644 --- a/site/client/app/modules/deck-builder/components/deck-builder.js +++ b/site/client/app/modules/deck-builder/components/deck-builder.js @@ -29,13 +29,34 @@ module.exports = { }, filters: { + + // Iterate for correct card type and merge multiple cards. getType: function(c, type) { + var a = []; + var itemCount = {}; + var tmp = $.map(c, (item) => { - //if(item.type == type) return item; - if($.inArray(item.type, type) > -1) return item; + if($.inArray(item.card.type, type) > -1) { + if($.inArray(item.card.name, a) > -1) { + itemCount[item.card.name] = (itemCount[item.card.name] || 1) + 1; + } else { + a.push(item.card.name); + + return item; + } + } }); - return tmp; + // todo: extract to method + var tmp2 = $.map(tmp, (item) => { + if(itemCount[item.card.name]) { + item.count = itemCount[item.card.name]; + } + + return item; + }); + + return tmp2; } }, @@ -66,7 +87,10 @@ module.exports = { var _deck = deck[this.factionFilter]; for(var item in _deck) { - this.deck.push(cards[_deck[item]]); + this.deck.push({ + card: cards[_deck[item]], + count: 1 + }); } }, diff --git a/site/client/app/modules/deck-builder/views/deck-builder.html b/site/client/app/modules/deck-builder/views/deck-builder.html index 6faeb00..cbf2379 100644 --- a/site/client/app/modules/deck-builder/views/deck-builder.html +++ b/site/client/app/modules/deck-builder/views/deck-builder.html @@ -38,9 +38,9 @@ <span>LEADER</span> <div class="card-wrap-small" v-repeat="item: deck | getType [3]" track-by="$index" v-on="click: showLeaders(item.name)"> - <!--div class="count-card no-select">1x</div--> + <div class="count-card no-select">{{ item.count }}x</div> <div class="bla ani"></div> - <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.img + '.png)'"></div> + <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> <div class="overlay-card"></div> </div> @@ -51,9 +51,9 @@ <span>CLOSE COMBAT</span> <div class="card-wrap-small" v-repeat="item: deck | getType [0]" track-by="$index"> - <div class="count-card no-select">{{ c > 1 ? c + 'x' : '' }}</div> + <div class="count-card no-select">{{ item.count }}x</div> <div class="bla ani"></div> - <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.img + '.png)'"></div> + <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> <div class="overlay-card"></div> </div> @@ -63,8 +63,9 @@ <span>RANGE</span> <div class="card-wrap-small" v-repeat="item: deck | getType [1]" track-by="$index"> + <div class="count-card no-select">{{ item.count }}x</div> <div class="bla ani"></div> - <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.img + '.png)'"></div> + <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> <div class="overlay-card"></div> </div> @@ -74,8 +75,9 @@ <span>SPECIAL</span> <div class="card-wrap-small" v-repeat="item: deck | getType [4,5]" track-by="$index"> + <div class="count-card no-select">{{ item.count }}x</div> <div class="bla ani"></div> - <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.img + '.png)'"></div> + <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> <div class="overlay-card"></div> </div> From 8c3f7417c07e0aaceb4bcde3bb42cbdf2f499d90 Mon Sep 17 00:00:00 2001 From: devfake <devfakeplus@googlemail.com> Date: Thu, 25 Jun 2015 21:20:36 +0200 Subject: [PATCH 2/3] remove count for single cards --- .../app/modules/deck-builder/views/deck-builder.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/client/app/modules/deck-builder/views/deck-builder.html b/site/client/app/modules/deck-builder/views/deck-builder.html index cbf2379..998ec55 100644 --- a/site/client/app/modules/deck-builder/views/deck-builder.html +++ b/site/client/app/modules/deck-builder/views/deck-builder.html @@ -38,7 +38,7 @@ <span>LEADER</span> <div class="card-wrap-small" v-repeat="item: deck | getType [3]" track-by="$index" v-on="click: showLeaders(item.name)"> - <div class="count-card no-select">{{ item.count }}x</div> + <div class="count-card no-select">{{ item.count > 1 ? item.count + 'x' : '' }}</div> <div class="bla ani"></div> <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> @@ -51,7 +51,7 @@ <span>CLOSE COMBAT</span> <div class="card-wrap-small" v-repeat="item: deck | getType [0]" track-by="$index"> - <div class="count-card no-select">{{ item.count }}x</div> + <div class="count-card no-select">{{ item.count > 1 ? item.count + 'x' : '' }}</div> <div class="bla ani"></div> <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> @@ -63,7 +63,7 @@ <span>RANGE</span> <div class="card-wrap-small" v-repeat="item: deck | getType [1]" track-by="$index"> - <div class="count-card no-select">{{ item.count }}x</div> + <div class="count-card no-select">{{ item.count > 1 ? item.count + 'x' : '' }}</div> <div class="bla ani"></div> <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> @@ -75,7 +75,7 @@ <span>SPECIAL</span> <div class="card-wrap-small" v-repeat="item: deck | getType [4,5]" track-by="$index"> - <div class="count-card no-select">{{ item.count }}x</div> + <div class="count-card no-select">{{ item.count > 1 ? item.count + 'x' : '' }}</div> <div class="bla ani"></div> <div class="card-img-small card-small-small" v-style="background-image: 'url(http://80.240.132.120/gwent/assets/cards/' + item.card.img + '.png)'"></div> <div class="shadow"></div> From 05a76559806bb23ecfec61d1708e3777185b858e Mon Sep 17 00:00:00 2001 From: devfake <devfakeplus@googlemail.com> Date: Thu, 25 Jun 2015 21:25:39 +0200 Subject: [PATCH 3/3] fix leader choose --- .../app/modules/deck-builder/components/show-leaders.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/client/app/modules/deck-builder/components/show-leaders.js b/site/client/app/modules/deck-builder/components/show-leaders.js index 001c14b..3f35a7b 100644 --- a/site/client/app/modules/deck-builder/components/show-leaders.js +++ b/site/client/app/modules/deck-builder/components/show-leaders.js @@ -14,8 +14,8 @@ module.exports = { chooseLeader(card) { // todo: make own leader variable for(var item in this.deck) { - if(this.deck[item].type == 3) { - this.deck.$set(item, card); + if(this.deck[item].card.type == 3) { + this.deck.$set(item, {card}); } }