InteractiveBODm/InteractiveBO/src/store/PolicyStore.js
2023-08-28 16:37:20 +02:00

64 lines
1.8 KiB
JavaScript

import { defineStore } from "pinia";
export const usePStore = defineStore("Policy Store", {
state: () => {
return {
policy: Array(10).fill(0),
policy_y: Array(10).fill(0),
nr_weights: 5,
weights: [0, 0, 0, 0, 0],
weights_y: [0, 0, 0, 0, 0],
weights_fixed: [false, false, false, false, false],
weights_fixed_y: [false, false, false, false, false],
max_steps: 100,
trigger: false,
};
},
getters: {
getPolicy: (state) => state.policy,
getPolicy_y: (state) => state.policy_y,
getNrWeights: (state) => state.nr_weights,
getWeights_Fixed: (state) => state.weights_fixed,
getWeights: (state) => state.weights,
getWeights_Fixed_y: (state) => state.weights_fixed_y,
getWeights_y: (state) => state.weights_y,
getMaxSteps: (state) => state.max_steps,
getTrigger: (state) => state.trigger,
},
actions: {
setPolicy(value) {
this.policy = null;
this.policy = value;
},
setPolicy_y(value) {
this.policy_y = null;
this.policy_y = value;
},
setNrWeights(value) {
this.nr_weights = value;
this.weights = Array(this.nr_weights).fill(0);
this.weights_fixed = Array(this.nr_weights).fill(false);
this.weights_y = Array(this.nr_weights).fill(0);
this.weights_fixed_y = Array(this.nr_weights).fill(false);
this.trigger = !this.trigger;
},
setWeights(value) {
this.weights = value;
},
setWeights_y(value) {
this.weights_y = value;
},
setMaxSteps(value) {
this.max_steps = value;
this.trigger = !this.trigger;
},
setTrigger() {
this.trigger = !this.trigger;
},
resetWeights_Fixed() {
this.weights_fixed = Array(this.nr_weights).fill(false);
this.weights_fixed_y = Array(this.nr_weights).fill(false);
},
},
});