Sha256: 1de0f456e20297e199120dd42eda51cfdb5c93265409c159c13cb47fb7d85a7a
Contents?: true
Size: 1.47 KB
Versions: 13
Compression:
Stored size: 1.47 KB
Contents
class DatasetStateManager { constructor() { this.storageKey = 'karafkaDisabledDatasets'; } // Reads all disabled datasets from localStorage readAll() { const raw = localStorage.getItem(this.storageKey); return raw ? JSON.parse(raw) : {}; } // Saves all disabled datasets to localStorage saveAll(data) { localStorage.setItem(this.storageKey, JSON.stringify(data)); } // Saves the current disabled datasets for all '.chartjs-line' charts saveCurrent() { const charts = document.querySelectorAll('.chartjs'); const url = window.location.href.split('?')[0]; let currentDisabled = {}; let allDisabled = this.readAll(); charts.forEach(chart => { const chartId = chart.id; const chartInstance = Chart.getChart(chartId); if (!chartInstance || !chartInstance.legend || !chartInstance.legend.legendItems) return; let disabledIndices = chartInstance.legend.legendItems .map((item, index) => item.hidden ? index : null) .filter(index => index !== null); if (disabledIndices.length > 0) { currentDisabled[chartId] = disabledIndices; } }); allDisabled[url] = currentDisabled; this.saveAll(allDisabled); } // Retrieves the disabled datasets for a specific chart ID getCurrentChart(chartId) { const url = window.location.href.split('?')[0]; let allDisabled = this.readAll(); let currentDisabled = allDisabled[url] || {}; return currentDisabled[chartId] || []; } }
Version data entries
13 entries across 13 versions & 1 rubygems