JSFiddle - React, Tailwind, and code Playground

by Danny Michaelis

JavaScript

// https://chartio.com/static/compressed/app.6b667c7b4552.js
var regenerateCharts = function() {
  _.each(retryCharts, function(args) {
    instance.generateChart.apply(instance, args)
  })
};
var pollCharts = function() {
  if (_.isEmpty(pendingCharts) && _.isEmpty(pollingCharts) || polling) {
    return
  }
  polling = true;
  var chartioStore = store.getStore(),
    url = urlUtils.reverse("api_cached_chart", [chartioStore.getOrganization().id]);
  _.each(pendingCharts, function(args, cacheKey) {
    pollingCharts[cacheKey] = args;
    delete pendingCharts[cacheKey]
  });
  HttpRequest.ajax({
    url: url,
    type: "POST",
    data: JSON.stringify({
      cache_keys: _.keys(pollingCharts)
    }),
    headers: {
      "X-CSRFToken": ajax.csrf()
    },
    contentType: "application/json"
  }).then(pollDone, pollFail)
};

instance.generateChart = function(chart, payload, startCallback, doneCallback, cancelLoading) {
  payload = payload || {};
  payload.timeZone = timeZone;
  var chartioStore = store.getStore(),
    dash, url, storeData;
  var args = _.toArray(arguments);
  updateLoadingStatus(true);
  if (chart.dashboard_id) {
    dash = chartioStore.get("dashboards", chart.dashboard_id)
  }
  if (editing) {
    url = urlUtils.reverse("api_generate_chart_edit", [chartioStore.getOrganization().id]);
    storeData = {
      chart: chart
    }
  } else {
    url = urlUtils.reverse("api_generate_chart", [dash.organization_id, dash.id]);
    storeData = {
      chart_id: chart.id
    }
  }
  payload.filterData = {};
  _.each(chartioStore.get("envVars"), function(envVar) {
    payload.filterData[envVar.name] = envVar.current_values
  });
  storeData.dashboardTheme = dash ? dash.theme.slug : "chartio-default";
  var cacheKey;
  var done = function(data, textStatus, xhr) {
    cacheKey = data.cache_key;
    if (xhr.status === 200 && (data.chart || data.success === false)) {
      chartDone(cacheKey, data, doneCallback)
    } else {
      pendingCharts[cacheKey] = args
  ...