I have a tried alot of things but it dosent work for me any help please.
my problem is on how to save legends status in the localStorage in order to save user selection after refreshing the page?
I'm using angular 14
you find the code bellow:
Code: Select all
events: {
load: function() {
let series = this.serieList;
if (!localStorage.legendItems) {
let legend = []
series.forEach(function(series) {
legend.push(series.visible)
})
localStorage.legendItems = legend.toString()
} else {
let legend = localStorage.legendItems.split(',')
let legendBooleans = []
legend.forEach((elem) => {
var isTrueSet = (elem === 'true')
legendBooleans.push(isTrueSet)
})
legendBooleans.forEach((state, i)=> {
seriesList[i].update({
visible: state
})
})
}
}
}
},
plotOptions: {
series: {
events: {
legendItemClick: function() {
let index = this.index
let legend = localStorage.legendItems.split(',')
let legendBooleans = []
legend.forEach((elem)=> {
let isTrueSet = (elem === 'true')
legendBooleans.push(isTrueSet)
})
// toggle series visibility flag and override it in local storage
legendBooleans[index] = !legendBooleans[index]
localStorage.legendItems = legendBooleans.toString()
}
}
}
},
series:serieList
});