mirror of
https://github.com/bartvdbraak/SlayerWeightCalculator.git
synced 2025-04-27 09:41:19 +00:00
Add lodash pkg, bugfix config loader (update:configData), stat filters implemented with lodash
This commit is contained in:
parent
7d8ddf7e6b
commit
8f60409cb7
5 changed files with 19 additions and 30 deletions
|
@ -11,6 +11,7 @@
|
||||||
"bootstrap": "^4.4.1",
|
"bootstrap": "^4.4.1",
|
||||||
"bootstrap-vue": "^2.3.0",
|
"bootstrap-vue": "^2.3.0",
|
||||||
"core-js": "^3.4.4",
|
"core-js": "^3.4.4",
|
||||||
|
"lodash": "^4.17.15",
|
||||||
"vue": "^2.6.10",
|
"vue": "^2.6.10",
|
||||||
"vue-router": "^3.1.5"
|
"vue-router": "^3.1.5"
|
||||||
},
|
},
|
||||||
|
@ -50,6 +51,7 @@
|
||||||
"last 2 versions"
|
"last 2 versions"
|
||||||
],
|
],
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"jquery": "^3.4.1"
|
"jquery": "^3.4.1",
|
||||||
|
"webpack": "^5.0.04"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,7 +170,7 @@ export default {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let fr = new FileReader();
|
let fr = new FileReader();
|
||||||
fr.onload = () => {
|
fr.onload = () => {
|
||||||
this.$emit('update', JSON.parse(fr.result));
|
this.$emit('update:configData', JSON.parse(fr.result));
|
||||||
};
|
};
|
||||||
fr.readAsText(file);
|
fr.readAsText(file);
|
||||||
});
|
});
|
||||||
|
|
|
@ -11,9 +11,9 @@ export default {
|
||||||
return {
|
return {
|
||||||
mainConfig: {
|
mainConfig: {
|
||||||
statUnlocks: [
|
statUnlocks: [
|
||||||
{id: 0, name: 'Slayer level', value: {min: 1, current: 99, max: 99}, image: 'slayer_icon.png', unlock: false},
|
{id: 0, name: 'Slayer level', filter: 'slayer_req', value: {min: 1, current: 99, max: 99}, image: 'slayer_icon.png', unlock: false},
|
||||||
{id: 1, name: 'Combat level', value: {min: 3, current: 126, max: 126}, image: 'combat_icon.png', unlock: false},
|
{id: 1, name: 'Combat level', filter: 'combat_req', value: {min: 3, current: 126, max: 126}, image: 'combat_icon.png', unlock: false},
|
||||||
{id: 2, name: 'Defence level', value: {min: 1, current: 99, max: 99}, image: 'defence_icon.png', unlock: false},
|
{id: 2, name: 'Defence level', filter: 'defence_req', value: {min: 1, current: 99, max: 99}, image: 'defence_icon.png', unlock: false},
|
||||||
],
|
],
|
||||||
pointUnlocks: [
|
pointUnlocks: [
|
||||||
{id: 0, name: 'Seeing red', monster_ids: [83, 3], unlock: false, masters: [5,6,7]},
|
{id: 0, name: 'Seeing red', monster_ids: [83, 3], unlock: false, masters: [5,6,7]},
|
||||||
|
@ -77,6 +77,9 @@ export default {
|
||||||
if (localStorage.getItem("configData") && localStorage.getItem('remember') === 'true') {
|
if (localStorage.getItem("configData") && localStorage.getItem('remember') === 'true') {
|
||||||
this.mainConfig = JSON.parse(localStorage.getItem("configData"));
|
this.mainConfig = JSON.parse(localStorage.getItem("configData"));
|
||||||
}
|
}
|
||||||
|
else if (localStorage.getItem("configData") && localStorage.getItem('remember') === 'false') {
|
||||||
|
localStorage.removeItem("configData");
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -61,13 +61,13 @@ export default {
|
||||||
key: 'combat_req',
|
key: 'combat_req',
|
||||||
label: 'Combat Requirement',
|
label: 'Combat Requirement',
|
||||||
sortable: true,
|
sortable: true,
|
||||||
class: 'd-none',
|
// class: 'd-none',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'slayer_req',
|
key: 'slayer_req',
|
||||||
label: 'Slayer Requirement',
|
label: 'Slayer Requirement',
|
||||||
sortable: true,
|
sortable: true,
|
||||||
class: 'd-none',
|
class: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'defence_req',
|
key: 'defence_req',
|
||||||
|
@ -87,16 +87,6 @@ export default {
|
||||||
sortable: true,
|
sortable: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
config: {
|
|
||||||
combat_level: 60,
|
|
||||||
slayer_level: 50,
|
|
||||||
defence_level: 1,
|
|
||||||
},
|
|
||||||
accountFilters: {
|
|
||||||
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: [],
|
filtered_items: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -111,18 +101,12 @@ export default {
|
||||||
this.generateTaskWeights();
|
this.generateTaskWeights();
|
||||||
},
|
},
|
||||||
filterData() {
|
filterData() {
|
||||||
//filter based on Account Settings
|
this.filtered_items = this.monstersData;
|
||||||
this.filtered_items = this.filterArray(this.monstersData, this.accountFilters);
|
//filter based on Account Stats
|
||||||
},
|
|
||||||
filterArray(array, filters) {
|
this.configData.statUnlocks.forEach(stat=>{
|
||||||
const filterKeys = Object.keys(filters);
|
// For each stat requirement, remove those from list where the current stat value is greater or equal to the monsters requirement value.
|
||||||
return array.filter(item => {
|
this.filtered_items = _.filter(this.filtered_items, function(o){ return parseInt(stat.value.current) >= parseInt(o[stat.filter]) } );
|
||||||
// validates all filter criteria
|
|
||||||
return filterKeys.every(key => {
|
|
||||||
// ignores non-function predicates
|
|
||||||
if (typeof filters[key] !== 'function') return true;
|
|
||||||
return filters[key](item[key]);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
generateTaskWeights() {
|
generateTaskWeights() {
|
||||||
|
@ -145,7 +129,6 @@ export default {
|
||||||
this.reload();
|
this.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import '@babel/polyfill'
|
import '@babel/polyfill'
|
||||||
import 'mutationobserver-shim'
|
import 'mutationobserver-shim'
|
||||||
|
import 'lodash'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import './plugins/bootstrap-vue'
|
import './plugins/bootstrap-vue'
|
||||||
import VueRouter from 'vue-router'
|
import VueRouter from 'vue-router'
|
||||||
|
|
Loading…
Reference in a new issue