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

Version Path
karafka-web-0.10.4 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.3 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.2 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.1 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.0 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.0.rc2 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.0.rc1 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.10.0.beta1 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.9.1 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.9.0 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.9.0.rc3 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.9.0.rc2 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js
karafka-web-0.9.0.rc1 lib/karafka/web/ui/public/javascripts/charts/dataset_state_manager.js