diff --git a/src/components/TableSection.vue b/src/components/TableSection.vue
index bcf1391..b640d3e 100644
--- a/src/components/TableSection.vue
+++ b/src/components/TableSection.vue
@@ -8,13 +8,12 @@
-
+
@@ -32,15 +31,46 @@ export default {
monstersData: monster_json,
total_weight: 0,
fields: [
+ {
+ key: 'id',
+ label: 'Monster name',
+ sortable: true,
+ isActive: false,
+ },
{
key: 'monster',
label: 'Monster name',
sortable: true,
+ isActive: true,
+ },
+ {
+ key: 'combat_req',
+ label: 'Combat Requirement',
+ sortable: true,
+ isActive: false,
+ },
+ {
+ key: 'slayer_req',
+ label: 'Slayer Requirement',
+ sortable: true,
+ isActive: false,
+ },
+ {
+ key: 'defence_req',
+ label: 'Defence Requirement',
+ sortable: true,
+ isActive: false,
},
],
- filters: {
- combat_level: 49,
+ config: {
+ combat_level: 100,
slayer_level: 75,
+ defence_level: 60,
+ },
+ filters: {
+ combat_req: combat_req => combat_req < this.config.combat_level,
+ slayer_req: slayer_req => slayer_req < this.config.slayer_level,
+ defence_req: defence_req => defence_req < this.config.defence_level,
},
filtered_items: [],
}
@@ -51,10 +81,21 @@ export default {
this.filterData();
},
filterData() {
- // this.filtered_items = this.items.filter(item => item.last_name.includes('Carney'));
- this.filtered_items = this.monstersData.filter(item => item.combat_req < this.filters.combat_level);
+ //filter based on account
+ this.filtered_items = this.filterArray(this.monstersData, this.filters)
},
+ filterArray(array, filters) {
+ const filterKeys = Object.keys(filters);
+ return array.filter(item => {
+ // validates all filter criteria
+ return filterKeys.every(key => {
+ // ignores non-function predicates
+ if (typeof filters[key] !== 'function') return true;
+ return filters[key](item[key]);
+ });
+ });
+ }
},
mounted() {
this.reload();
diff --git a/src/components/TopNav.vue b/src/components/TopNav.vue
index 3f6f193..11abbf6 100644
--- a/src/components/TopNav.vue
+++ b/src/components/TopNav.vue
@@ -12,7 +12,6 @@
- Github
@@ -24,7 +23,6 @@ export default {
name: "Navbar",
methods: {
emitMenu() {
- console.log('test')
this.$emit('clicked');
}
}