Overriding the default ascending sort order for field members using the sortingMethod API call

Slice configuration

by Flexmonster Pivot Table

HTML

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

<button onclick="customSorting()">custom sorting</button>

<div id="pivot-container"></div>

CSS

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

JavaScript

let pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  report: {
    dataSource: {
      filename: "data/retail-data.json"
    },
    slice: {
    	rows: [
      	{ 
          uniqueName: "Contact Last Name",
          filter: {
            query: {
          	  contain: "an"
            }
          }
        }
      ],
      columns: [
      	{ uniqueName: "[Measures]" }
      ],
      measures: [
      	{ uniqueName: "Quantity" }
      ]
    }
  }
});

function customSorting() {
  const letterToPutFirst = "F";
  pivot.sortingMethod("Contact Last Name", function(a, b) {
    if (a.at(0) == letterToPutFirst && b.at(0) == letterToPutFirst)
    	return a > b ? 1 : -1;
    if (a.at(0) == letterToPutFirst)
      return -1;
    if (b.at(0) == letterToPutFirst)
      return 1;
    return a > b ? 1 : -1;
  });
}