You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.4 KiB
63 lines
1.4 KiB
const state = {
|
|
recentPages: [],
|
|
isRecentOpen:"",
|
|
}
|
|
|
|
const mutations = {
|
|
saveRecent(state){
|
|
localStorage.setItem("recentPages", JSON.stringify(state.recentPages));
|
|
},
|
|
|
|
addRecent(state, item) {
|
|
if(state.recentPages.length == 0 ){
|
|
state.recentPages = JSON.parse(localStorage.getItem("recentPages") || "[]");
|
|
}
|
|
let temp;
|
|
state.recentPages.forEach((unit,index)=>{
|
|
if(unit.path == item.path){
|
|
temp = unit;
|
|
temp.active = true;
|
|
}else{
|
|
unit.active = false;
|
|
}
|
|
});
|
|
if (!temp){
|
|
item.active = true;
|
|
state.recentPages.push(item);
|
|
}
|
|
|
|
mutations.saveRecent(state);
|
|
|
|
},
|
|
openRecent(state){
|
|
state.isRecentOpen = true;
|
|
localStorage.setItem("isRecentOpen", true);
|
|
},
|
|
closeRecent(state){
|
|
state.isRecentOpen = false;
|
|
localStorage.setItem("isRecentOpen", false);
|
|
},
|
|
removeRecent(state, item) {
|
|
let i = state.recentPages.findIndex(unit => unit.path == item.path);
|
|
state.recentPages.splice(i, 1);
|
|
mutations.saveRecent(state);
|
|
}
|
|
|
|
}
|
|
|
|
const getters = {
|
|
isRecentOpen(state){
|
|
if (state.isRecentOpen === ""){
|
|
state.isRecentOpen = localStorage.getItem("isRecentOpen") || false;
|
|
}
|
|
console.log(state.isRecentOpen);
|
|
return state.isRecentOpen;
|
|
}
|
|
}
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
getters,
|
|
mutations,
|
|
}
|