1
0
mirror of https://github.com/kihashi/stardew_community_checklist.git synced 2025-10-19 08:03:17 +00:00

Merge pull request #17 from kihashi/feature/#11-items-in-multiple-bundles

Updated the user_data array to store the position from `item.bundles`.
This commit is contained in:
John Cleaver 2016-03-30 23:04:33 -04:00
commit a05f216801
2 changed files with 31 additions and 23 deletions

View File

@ -163,11 +163,11 @@
<div class="content">
<p class="control">
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
v-on:click="toggleItemInBundle(bundle_id, item.id)"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'is-success' : 'is-danger']">
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
<span class="icon">
<i class="fa"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'fa-check-square-o' : 'fa-square-o']"></i>
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
</span>
<span>{{ static.bundles[bundle_id].name }}</span>
</a>
@ -237,11 +237,11 @@
<div class="content">
<p class="control">
<a class="button is-danger is-fullwidth" v-for="bundle_id in item.bundles"
v-on:click="toggleItemInBundle(bundle_id, item.id)"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'is-success' : 'is-danger']">
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
<span class="icon">
<i class="fa"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'fa-check-square-o' : 'fa-square-o']"></i>
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
</span>
<span>{{ static.bundles[bundle_id].name }}</span>
</a>
@ -312,11 +312,11 @@
<div class="content">
<p class="control">
<a class="button is-danger is-fullwidth" v-for="bundle_id in item.bundles"
v-on:click="toggleItemInBundle(bundle_id, item.id)"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'is-success' : 'is-danger']">
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
<span class="icon">
<i class="fa"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'fa-check-square-o' : 'fa-square-o']"></i>
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
</span>
<span>{{ static.bundles[bundle_id].name }}</span>
</a>
@ -389,11 +389,11 @@
<div class="content">
<p class="control">
<a class="button is-danger is-fullwidth" v-for="bundle_id in item.bundles"
v-on:click="toggleItemInBundle(bundle_id, item.id)"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'is-success' : 'is-danger']">
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
<span class="icon">
<i class="fa"
v-bind:class="[isItemInBundle(bundle_id, item.id) ? 'fa-check-square-o' : 'fa-square-o']"></i>
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
</span>
<span>{{ static.bundles[bundle_id].name }}</span>
</a>

30
main.js
View File

@ -70,23 +70,31 @@ var v = new Vue({
change_skill: function(new_skill){
this.active_skill = new_skill;
},
addItemToBundle: function(bundleId, itemId){
this.user_data[bundleId].push(itemId);
addItemToBundle: function(bundleId, itemId, itemPosition){
this.user_data[bundleId].push({item: itemId, position: itemPosition});
},
removeItemFromBundle: function(bundleId, itemId){
i = this.user_data[bundleId].indexOf(itemId);
this.user_data[bundleId].splice(i, 1);
removeItemFromBundle: function(bundleId, itemId, itemPosition){
console.log("Removing item from bundle" + bundleId + " | " + itemId + " | " + itemPosition);
for(i = 0; i < this.user_data[bundleId].length; i++){
if(this.user_data[bundleId][i].item === itemId && this.user_data[bundleId][i].position === itemPosition){
console.log("Found a match with: ");
console.log(this.user_data[bundleId][i]);
this.user_data[bundleId].splice(i, 1);
}
}
},
toggleItemInBundle: function(bundleId, itemId){
if(this.isItemInBundle(bundleId, itemId)){
this.removeItemFromBundle(bundleId, itemId);
toggleItemInBundle: function(bundleId, itemId, itemPosition){
if(this.isItemInBundle(bundleId, itemId, itemPosition)){
this.removeItemFromBundle(bundleId, itemId, itemPosition);
}
else{
this.addItemToBundle(bundleId, itemId);
this.addItemToBundle(bundleId, itemId, itemPosition);
}
},
isItemInBundle: function(bundleId, itemId){
if(this.user_data[bundleId].indexOf(itemId) > -1){
isItemInBundle: function(bundleId, itemId, itemPosition){
if(this.user_data[bundleId].filter(function(element){
return element.item === itemId && element.position === itemPosition;
}).length > 0){
return true;
}
else{