Events for tracking a query run

Events

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<div>
  <p>
    Click the <b>Run query</b> button to trigger the
    <code>runningquery</code> event.
  </p>
  <p>
    If running the query was successful, the <code>querycomplete</code> event is
    triggered and outputs the message under the component.
  </p>
  <p>
    If there are any issues when running the data query, the
    <code>queryerror</code> event is triggered and outputs the error message
    under the component.
  </p>
</div>

<button onclick="runQuery()">Run query</button>

<div id="pivot-container">The component will appear here</div>

<div class="output" id="output">Output will appear here</div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

var pivot = new Flexmonster({
	container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  width: "100%",
  height: 300,
  toolbar: true,
  report: {
    dataSource: {
      data: getData()
    }
  }
});

let outputInitialized = false;

function showOutput(content) {
  var log = "[" + (new Date()).toLocaleTimeString('en-US') + "] " + content;
  var outputElement = document.getElementById("output");
  if (!outputInitialized) {
    outputElement.innerText = '';
    outputInitialized = true;
  }
  outputElement.innerText += log + "\n";
  outputElement.scrollTop = outputElement.scrollHeight;
}

pivot.on('runningquery', function () {
  showOutput('Query is running!');
});

pivot.on('querycomplete', function () {
  showOutput('Query is complete!');
});

pivot.on('queryerror', function (e) {
  showOutput('Query error!' + e.error);
});

function runQuery() {
  var slice = 
  {
   rows:
   [
    {uniqueName: "country"}
   ],
   columns:
   [
    {uniqueName: "Color"}
   ],
   measures:
   [
    {uniqueName: "Price"}
   ]
  };
  pivot.runQuery(slice);
}

function getData() {
  return [{
    "Color": "green",
    "M": "September",
    "W": "Wed",
    "country": "Canada",
    "state": "Ontario",
    "city": "Toronto",
    "Price": 174,
    "Quantity": 22
  }, {
    "Color": "red",
    "M": "March",
    "W": "Mon",
    "Time": "1000",
    "country": "USA",
    "state": "California",
    "city": "Los Angeles",
    "Price": 30,
    "Quantity": 19
  }];
}