Customized Group

This example shows how to create custom groups.

<p>This example shows how to create custom groups.</p> <p>In the demo, the <strong>salesDate</strong> field is programmatically grouped by time period. This is done in the <strong>grouping</strong> Grid Layout Engine property. The time periods are defined with a function in the <strong>converter</strong> property and the display is defined in the <strong>header</strong> property.</p>
<!DOCTYPE html> <html lang="en"> <head> <base href="/dataviewsjs/demos/en/sample/Features/Grouping/CustomizedGroup/purejs/" /> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="keywords" content="grouping, aggregates, aggregation" /> <meta name="description" content="This example shows how to create custom groups." /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Customized Group | Features | GrapeCity DataViewsJS JavaScript Demos</title> <link href="/dataviewsjs/demos/node_modules/normalize.css/normalize.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/css/base.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/dataviews/gc.dataviews.core.min.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/dataviews/gc.dataviews.grid.min.css" rel="stylesheet" type="text/css" /> <link href="styles.css" rel="stylesheet" type="text/css" /> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-WT462SJ'); </script> <!-- End Google Tag Manager --> <script src="/dataviewsjs/demos/static/js/app-polyfills.min.js" type="text/javascript"></script> <script type="text/javascript"> window.process = { env: { NODE_ENV: 'production', USE_NPM: false, USE_CDN: false, SITE_ROOT: '/dataviewsjs/demos', FRAMEWORK: 'purejs', DVJS_LICENSE_KEY: 'E674186349827489#B0LYWQMpFdP3WSHlVaGdjTFtyLCxUQjdFV5MHey9kTyBnY0pkY6tWcr34caJjSPlEVlR6QpJnZEdjSj9kbkRUZChzMsRFS99mN4ZGO72yK7FXe5tmN59Eai5UM7dEVvgUeYN5MqdUTIpWTpBnSTJEWv24YwoFWr9mWEl6UNVmVMxUd5ckUQdlUNV4MDhENaV5KNNWbJtiSwFUYCVUax4GUuBjZDN7T5dWdDpFNyJjSxJkes3mUt94QrdnMK5mZORGeFZ4QyFTMmdWOWdlMmJ4ZJhTS5MmZatyZ7k5c0JXVB3mWVNke7AFRiojITJCLikjNBNjNzcjI0ICSiwSN8AjN9YjMwUTM0IicfJye35XX3JSWUVVOiojIDJCLiEjdgMlSzdXZpZVY4FGRiojIOJyebpjIkJHUiwiI9MDMykDMggDM8ATOxAjMiojI4J7QiwiIt36YukHdpNWZwFmcn9iKiojIz5GRiwiIj9WSgkHdpNUZwFmcHJiOiEmTDJCLlVnc4pjIsZXRiwiI9gDN7IDO9QzM6gTM4cjNiojIklkI1pjIEJCLi4TPn3UZuJ7cPZTW5hUMtN7MJN6aQFnT5gmd9FEZ4EETlFmW63kU8IGdiRGTJZle5UDbZJHTR34T0JzZoZmbalXQwNmM8EndEFEdSVlMiVnckFmQUJTOahmc7AzRHhlU4I4Vs3kN6lHaHR4LuhWULNIe', SJS_LICENSE_KEY: '*.grapecity.com,E613631884219496#B0qRgJHWSJ7NyBlc8BjNMRHW7g7YldTZXFTQuFnW4hVOCplVSlVV09ERlhEZuVTVKlTazE4Q6VGSw2CdWZUWSVmbjVXbrxmWFVWR8ZzQro7U84WMGdlbuVHb73kS5kjUTN4NvFVdLdXWVR4Nox6Z7UUSysEcXJEMsN6bDN4TxMDVwVmWBRzKxhkTzAXTaJmdD3CRFJTd8R4R6M5RklWa6oUaLlXMwR4R8ZUdtRWVxUUaQh6VXNDdEhlZ7FHR6QXTPJTVvkWcyZnbSdHRtZHcYF6TKN4axYGcZNjTDF7TvFTTr24VqZjVHVjcLd7QkRmdNxkI0IyUiwiI5gDOEF4QGVjI0ICSiwiMzkTO9kTOyMTM0IicfJye35XX3JSSGljQiojIDJCLiITMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI4MDMyEDMgkDM8ATOxAjMiojI4J7QiwiIt36YukHdpNWZwFmcn9iKiojIz5GRiwiIj9WagkHdpNUZwFmcHJiOiEmTDJCLlVnc4pjIsZXRiwiI6kDN9EjM4gDOxMjNzEjNiojIklkIs4XZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TQ72kNBV6YXpXdGxGWxdHcol4MyUGUHJVbQVHRx44Sw84YxRkS4QnZadDNmhWWxV5QxFlTlZEbBJ5N8gUNQlDb7J6Kl36YHVnb4NGN92UMFdlNORFU8VDSaFlQSVlS4EHTrA5Ohh', }, }; </script> <script src="/dataviewsjs/demos/static/dataviews/gc.dataviews.common.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/dataviews/gc.dataviews.core.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/dataviews/gc.dataviews.grid.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/js/license.js" type="text/javascript"></script> </head> <body class="theme-default"> <!-- Google Tag Manager (noscript) --> <noscript ><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WT462SJ" height="0" width="0" style="display:none;visibility:hidden" ></iframe ></noscript> <!-- End Google Tag Manager (noscript) --> <noscript>You need to enable JavaScript to run this app.</noscript> <div id="grid" class="grid"></div> <script src="data.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script> </body> </html>
var cols = [ { id: 'salesDate', caption: 'Sales Date', dataField: 'salesDate', format: 'yyyy/MM/dd', dataType: 'date', width: 120, }, { id: 'salesperson', caption: 'Salesperson', dataField: 'salesperson', width: 120, }, { id: 'productName', caption: 'Product Name', dataField: 'productName', width: 120, }, { id: 'unitPrice', caption: 'Unit Price', dataField: 'unitPrice', format: '$#,##0', width: 120, }, { id: 'quantity', caption: 'Quantity', dataField: 'quantity', width: 120, }, ]; function toOADate(date) { var epoch = new Date(1899, 11, 30); var msPerDay = 8.64e7; var v = (-1 * (epoch - date)) / msPerDay; // Deal with dates prior to 1899-12-30 00:00:00 var dec = v - Math.floor(v); if (v < 0 && dec) { v = Math.floor(v) - dec; } return v; } var now = Date.now(); var oneDayMilliseconds = 24 * 60 * 60 * 1000; for (var i = 0, length = data.length; i < length; i++) { data[i].salesDate = toOADate(now - i * oneDayMilliseconds); } var today = new Date(now); var weeks = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; var totalDayCount = Math.ceil(today / oneDayMilliseconds); var day = today.getDay(); var layout = new GC.DataViews.GridLayout({ showRowHeader: false, allowGrouping: false, allowColumnReorder: false, allowColumnResize: false, grouping: [ { field: 'salesDate', header: { template: '<div class="header-cell">\n <span class="gc-grouping-toggle {{=it.groupStatus}}" style="margin-left:{{=it.margin+4}}px;">\n <svg class="expand-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M7,10L12,15L17,10H7Z" /></svg>\n <svg class="collapse-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M10,17L15,12L10,7V17Z" /></svg>\n </span>\n <span>{{=it.name}} ({{=it.count}} items)</span>\n </div>\n ', }, footer: { visible: false, }, collapsed: true, converter: function converter(time) { var currentDayCount = Math.ceil(time.getTime() / oneDayMilliseconds); var pastWeeks = Math.floor((totalDayCount - currentDayCount - day) / 7); if (totalDayCount === currentDayCount) { return 'Today'; } if (currentDayCount === totalDayCount - 1) { return 'Yesterday'; } if (totalDayCount - currentDayCount <= day) { return weeks[day + currentDayCount - totalDayCount]; } if (pastWeeks === 0) { return 'Last Week'; } if (pastWeeks === 1) { return '2 Weeks Ago'; } if (pastWeeks === 2) { return '3 Week Ago'; } return 'Older'; }, }, ], }); new GC.DataViews.DataView(document.getElementById('grid'), data, cols, layout); // focus data.view by default document.getElementById('grid').focus();
var data = [{ productName: 'iPad Air 2', quantity: 16, salesDate: 1412035200000, salesperson: 'Alice', total: 7984, unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 17, salesDate: 1412121600000, salesperson: 'Bob', total: 6783, unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 18, salesDate: 1412208000000, salesperson: 'John', total: 8982, unitPrice: 499 }, { productName: 'iPhone5s', quantity: 11, salesDate: 1412294400000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 8, salesDate: 1412380800000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 3, salesDate: 1412467200000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 19, salesDate: 1412553600000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPhone6', quantity: 18, salesDate: 1412640000000, salesperson: 'Chris', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 12, salesDate: 1412726400000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6', quantity: 3, salesDate: 1412812800000, salesperson: 'Lucy', unitPrice: 199 }, { productName: 'iPhone6', quantity: 18, salesDate: 1412899200000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone6', quantity: 14, salesDate: 1412985600000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone6', quantity: 16, salesDate: 1413072000000, salesperson: 'Lucy', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1413158400000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 8, salesDate: 1413244800000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 14, salesDate: 1413331200000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 8, salesDate: 1413244800000, salesperson: 'Chris', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 14, salesDate: 1413331200000, salesperson: 'Chris', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 12, salesDate: 1413417600000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 11, salesDate: 1413504000000, salesperson: 'Chris', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 12, salesDate: 1413417600000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 11, salesDate: 1413504000000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 16, salesDate: 1413590400000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1413676800000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 12, salesDate: 1413763200000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 3, salesDate: 1413849600000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 15, salesDate: 1413936000000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1414022400000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 7, salesDate: 1414108800000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 13, salesDate: 1414195200000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 16, salesDate: 1414281600000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 3, salesDate: 1414368000000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 5, salesDate: 1414454400000, salesperson: 'Chris', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1414540800000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1412035200000, salesperson: 'Alex', total: 7485, unitPrice: 499 }, { productName: 'iPhone5s', quantity: 13, salesDate: 1412121600000, salesperson: 'Alice', total: 1287, unitPrice: 99 }, { productName: 'iPhone6', quantity: 14, salesDate: 1412208000000, salesperson: 'Alex', total: 2786, unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 4, salesDate: 1412294400000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 17, salesDate: 1412380800000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1412467200000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 8, salesDate: 1412553600000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone6', quantity: 18, salesDate: 1412640000000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 7, salesDate: 1412726400000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 18, salesDate: 1412812800000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 6, salesDate: 1412899200000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 13, salesDate: 1412985600000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6', quantity: 1, salesDate: 1413072000000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 16, salesDate: 1413158400000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 1, salesDate: 1413244800000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1413331200000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 1, salesDate: 1413417600000, salesperson: 'Chris', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 19, salesDate: 1413504000000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 7, salesDate: 1413590400000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 6, salesDate: 1413676800000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone6', quantity: 15, salesDate: 1413763200000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 12, salesDate: 1413849600000, salesperson: 'Chris', unitPrice: 399 }, { productName: 'iPhone6', quantity: 8, salesDate: 1413936000000, salesperson: 'Lucy', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1414022400000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 14, salesDate: 1414108800000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 0, salesDate: 1414195200000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 19, salesDate: 1414281600000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 7, salesDate: 1414368000000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 5, salesDate: 1414454400000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPhone6', quantity: 16, salesDate: 1414540800000, salesperson: 'Chris', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 16, salesDate: 1412035200000, salesperson: 'John', total: 6384, unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 12, salesDate: 1412121600000, salesperson: 'Alex', total: 5988, unitPrice: 499 }, { productName: 'iPhone5s', quantity: 10, salesDate: 1412208000000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 8, salesDate: 1412294400000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPhone6', quantity: 2, salesDate: 1412380800000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 12, salesDate: 1412467200000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 0, salesDate: 1412553600000, salesperson: 'Lucy', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 19, salesDate: 1412640000000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 14, salesDate: 1412726400000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1412812800000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1412899200000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 12, salesDate: 1412985600000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 8, salesDate: 1413072000000, salesperson: 'Lucy', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 6, salesDate: 1413158400000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 2, salesDate: 1413244800000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1413331200000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPhone6', quantity: 3, salesDate: 1413417600000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 12, salesDate: 1413504000000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 18, salesDate: 1413590400000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 3, salesDate: 1413676800000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 4, salesDate: 1413763200000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 1, salesDate: 1413849600000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 10, salesDate: 1413936000000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 13, salesDate: 1414022400000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPhone6', quantity: 3, salesDate: 1414108800000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 11, salesDate: 1414195200000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 4, salesDate: 1414281600000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone6', quantity: 12, salesDate: 1414368000000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1414454400000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 12, salesDate: 1414540800000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 6, salesDate: 1412035200000, salesperson: 'Chris', total: 2994, unitPrice: 499 }, { productName: 'iPhone6', quantity: 0, salesDate: 1412121600000, salesperson: 'Chris', total: 0, unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 2, salesDate: 1412208000000, salesperson: 'John', total: 998, unitPrice: 499 }, { productName: 'iPhone5s', quantity: 4, salesDate: 1412294400000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 4, salesDate: 1412380800000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 13, salesDate: 1412467200000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1412553600000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 1, salesDate: 1412640000000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPhone6', quantity: 1, salesDate: 1412726400000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 4, salesDate: 1412812800000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPhone6', quantity: 17, salesDate: 1412899200000, salesperson: 'Lucy', unitPrice: 199 }, { productName: 'iPhone6', quantity: 12, salesDate: 1412985600000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 11, salesDate: 1413072000000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 10, salesDate: 1413158400000, salesperson: 'Lucy', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 18, salesDate: 1413244800000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 6, salesDate: 1413331200000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 6, salesDate: 1413417600000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 18, salesDate: 1413504000000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 14, salesDate: 1413590400000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 13, salesDate: 1413676800000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 17, salesDate: 1413763200000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 9, salesDate: 1413849600000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 10, salesDate: 1413936000000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 18, salesDate: 1414022400000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1414108800000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 2, salesDate: 1414195200000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6', quantity: 3, salesDate: 1414281600000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 10, salesDate: 1414368000000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 4, salesDate: 1414454400000, salesperson: 'Chris', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 17, salesDate: 1414540800000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 16, salesDate: 1412035200000, salesperson: 'Alice', total: 6384, unitPrice: 399 }, { productName: 'iPhone5s', quantity: 16, salesDate: 1412121600000, salesperson: 'Alex', total: 1584, unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 11, salesDate: 1412208000000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPhone6', quantity: 15, salesDate: 1412294400000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone6', quantity: 14, salesDate: 1412380800000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1412467200000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPhone6', quantity: 0, salesDate: 1412553600000, salesperson: 'Chris', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 19, salesDate: 1412640000000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 19, salesDate: 1412726400000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 13, salesDate: 1412812800000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 8, salesDate: 1412899200000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 14, salesDate: 1412985600000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 16, salesDate: 1413072000000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 16, salesDate: 1413158400000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1413244800000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPhone6', quantity: 12, salesDate: 1413331200000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 2, salesDate: 1413417600000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 15, salesDate: 1413504000000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 9, salesDate: 1413590400000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 5, salesDate: 1413676800000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 13, salesDate: 1413763200000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 8, salesDate: 1413849600000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 2, salesDate: 1413936000000, salesperson: 'Lucy', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 2, salesDate: 1414022400000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 8, salesDate: 1414108800000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 18, salesDate: 1414195200000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 7, salesDate: 1414281600000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 2, salesDate: 1414368000000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 11, salesDate: 1414454400000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPhone6', quantity: 7, salesDate: 1414540800000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 13, salesDate: 1412035200000, salesperson: 'Alex', total: 1287, unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 6, salesDate: 1412121600000, salesperson: 'John', total: 2394, unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 19, salesDate: 1412208000000, salesperson: 'Lucy', total: 9481, unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 3, salesDate: 1412294400000, salesperson: 'Chris', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 12, salesDate: 1412380800000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 8, salesDate: 1412467200000, salesperson: 'Chris', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 12, salesDate: 1412553600000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 12, salesDate: 1412640000000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 11, salesDate: 1412726400000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 11, salesDate: 1412812800000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1412899200000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 2, salesDate: 1412985600000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1413072000000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 2, salesDate: 1413158400000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPhone6', quantity: 7, salesDate: 1413244800000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 19, salesDate: 1413331200000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 10, salesDate: 1413417600000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 4, salesDate: 1413504000000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPhone6', quantity: 7, salesDate: 1413590400000, salesperson: 'Alice', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 1, salesDate: 1413676800000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 14, salesDate: 1413763200000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1413849600000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 13, salesDate: 1413936000000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone6', quantity: 5, salesDate: 1414022400000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 15, salesDate: 1414108800000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 8, salesDate: 1414195200000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 6, salesDate: 1414281600000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 11, salesDate: 1414368000000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 1, salesDate: 1414454400000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPhone6', quantity: 18, salesDate: 1414540800000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 1, salesDate: 1412035200000, salesperson: 'Lucy', total: 499, unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 10, salesDate: 1412121600000, salesperson: 'John', total: 4990, unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 18, salesDate: 1412208000000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 3, salesDate: 1412294400000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 7, salesDate: 1412380800000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 10, salesDate: 1412467200000, salesperson: 'Chris', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 15, salesDate: 1412553600000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPhone6', quantity: 19, salesDate: 1412640000000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 15, salesDate: 1412726400000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 19, salesDate: 1412812800000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 6, salesDate: 1412899200000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 5, salesDate: 1412985600000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 16, salesDate: 1413072000000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 5, salesDate: 1413158400000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 15, salesDate: 1413244800000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1413331200000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 6, salesDate: 1413417600000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 16, salesDate: 1413504000000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 19, salesDate: 1413590400000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone5s', quantity: 8, salesDate: 1413676800000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 14, salesDate: 1413763200000, salesperson: 'Lucy', unitPrice: 99 }, { productName: 'iPhone6', quantity: 17, salesDate: 1413849600000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 12, salesDate: 1413936000000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 18, salesDate: 1414022400000, salesperson: 'Lucy', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1414108800000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 0, salesDate: 1414195200000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 16, salesDate: 1414281600000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 2, salesDate: 1414368000000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 5, salesDate: 1414454400000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6', quantity: 12, salesDate: 1414540800000, salesperson: 'Chris', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 12, salesDate: 1412035200000, salesperson: 'John', total: 3588, unitPrice: 299 }, { productName: 'iPhone5s', quantity: 4, salesDate: 1412121600000, salesperson: 'Alice', total: 396, unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 2, salesDate: 1412208000000, salesperson: 'Lucy', unitPrice: 499 }, { productName: 'iPhone6', quantity: 1, salesDate: 1412294400000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 13, salesDate: 1412380800000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 12, salesDate: 1412467200000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 18, salesDate: 1412553600000, salesperson: 'John', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 16, salesDate: 1412640000000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 3, salesDate: 1412726400000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 19, salesDate: 1412812800000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6', quantity: 3, salesDate: 1412899200000, salesperson: 'Alice', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 5, salesDate: 1412985600000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPhone6', quantity: 3, salesDate: 1413072000000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 5, salesDate: 1413158400000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 3, salesDate: 1413244800000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 0, salesDate: 1413331200000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 2, salesDate: 1413417600000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 5, salesDate: 1413504000000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 3, salesDate: 1413590400000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 9, salesDate: 1413676800000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 11, salesDate: 1413763200000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPhone6', quantity: 14, salesDate: 1413849600000, salesperson: 'Bob', unitPrice: 199 }, { productName: 'iPad mini 3', quantity: 1, salesDate: 1413936000000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 13, salesDate: 1414022400000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 9, salesDate: 1414108800000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 13, salesDate: 1414195200000, salesperson: 'John', unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 17, salesDate: 1414281600000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 19, salesDate: 1414368000000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 18, salesDate: 1414454400000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6', quantity: 1, salesDate: 1414540800000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 3, salesDate: 1412035200000, salesperson: 'Alice', total: 897, unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 11, salesDate: 1412121600000, salesperson: 'John', total: 5489, unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 2, salesDate: 1412208000000, salesperson: 'Bob', total: 998, unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 10, salesDate: 1412294400000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 19, salesDate: 1412380800000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 19, salesDate: 1412467200000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 17, salesDate: 1412553600000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 2, salesDate: 1412640000000, salesperson: 'Lucy', unitPrice: 399 }, { productName: 'iPhone6 plus', quantity: 0, salesDate: 1412726400000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 13, salesDate: 1412812800000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 8, salesDate: 1412899200000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 3, salesDate: 1412985600000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 3, salesDate: 1413072000000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 15, salesDate: 1413158400000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 9, salesDate: 1413244800000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone6', quantity: 5, salesDate: 1413331200000, salesperson: 'Alice', unitPrice: 199 }, { productName: 'iPhone6', quantity: 19, salesDate: 1413417600000, salesperson: 'Alice', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 7, salesDate: 1413504000000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 12, salesDate: 1413590400000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 19, salesDate: 1413676800000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 7, salesDate: 1413763200000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPhone6', quantity: 11, salesDate: 1413849600000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPad Air 2', quantity: 11, salesDate: 1413936000000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 15, salesDate: 1414022400000, salesperson: 'Lucy', unitPrice: 299 }, { productName: 'iPad Air 2', quantity: 5, salesDate: 1414108800000, salesperson: 'Alice', unitPrice: 499 }, { productName: 'iPhone6 plus', quantity: 19, salesDate: 1414195200000, salesperson: 'Bob', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 9, salesDate: 1414281600000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPhone6', quantity: 9, salesDate: 1414368000000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 4, salesDate: 1414454400000, salesperson: 'Alex', unitPrice: 99 }, { productName: 'iPad mini 3', quantity: 15, salesDate: 1414540800000, salesperson: 'John', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 10, salesDate: 1412035200000, salesperson: 'Alice', total: 3990, unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 8, salesDate: 1412121600000, salesperson: 'Alex', total: 3192, unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 3, salesDate: 1412208000000, salesperson: 'Lucy', total: 1497, unitPrice: 499 }, { productName: 'iPad Air 2', quantity: 6, salesDate: 1412294400000, salesperson: 'Chris', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 9, salesDate: 1412380800000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 2, salesDate: 1412467200000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 7, salesDate: 1412553600000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPhone6', quantity: 7, salesDate: 1412640000000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 13, salesDate: 1412726400000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPhone6', quantity: 9, salesDate: 1412812800000, salesperson: 'Lucy', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 4, salesDate: 1412899200000, salesperson: 'Alex', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 4, salesDate: 1412985600000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPhone5s', quantity: 15, salesDate: 1413072000000, salesperson: 'Alice', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 5, salesDate: 1413158400000, salesperson: 'Bob', unitPrice: 499 }, { productName: 'iPad mini 3', quantity: 5, salesDate: 1413244800000, salesperson: 'Alice', unitPrice: 399 }, { productName: 'iPhone6', quantity: 7, salesDate: 1413331200000, salesperson: 'Chris', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 8, salesDate: 1413417600000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPhone6', quantity: 6, salesDate: 1413504000000, salesperson: 'John', unitPrice: 199 }, { productName: 'iPhone6 plus', quantity: 16, salesDate: 1413590400000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPhone6', quantity: 17, salesDate: 1413676800000, salesperson: 'Alex', unitPrice: 199 }, { productName: 'iPhone6', quantity: 4, salesDate: 1413763200000, salesperson: 'Alice', unitPrice: 199 }, { productName: 'iPhone5s', quantity: 9, salesDate: 1413849600000, salesperson: 'Bob', unitPrice: 99 }, { productName: 'iPad Air 2', quantity: 8, salesDate: 1413936000000, salesperson: 'Alex', unitPrice: 499 }, { productName: 'iPhone5s', quantity: 3, salesDate: 1414022400000, salesperson: 'John', unitPrice: 99 }, { productName: 'iPhone5s', quantity: 9, salesDate: 1414108800000, salesperson: 'Chris', unitPrice: 99 }, { productName: 'iPhone6 plus', quantity: 7, salesDate: 1414195200000, salesperson: 'Alice', unitPrice: 299 }, { productName: 'iPhone6 plus', quantity: 5, salesDate: 1414281600000, salesperson: 'Chris', unitPrice: 299 }, { productName: 'iPad mini 3', quantity: 14, salesDate: 1414368000000, salesperson: 'Bob', unitPrice: 399 }, { productName: 'iPad mini 3', quantity: 11, salesDate: 1414454400000, salesperson: 'Alex', unitPrice: 399 }, { productName: 'iPad Air 2', quantity: 13, salesDate: 1414540800000, salesperson: 'John', unitPrice: 499 }];
.gc-grouping-toggle { display: inline-flex; align-items: center; margin-right: 6px; } .gc-grouping-toggle svg { width: 24px; height: 24px; display: inline-flex; align-items: center; } .gc-grouping-toggle.expand .expand-icon { display: inline-flex; } .gc-grouping-toggle.expand .collapse-icon { display: none; } .gc-grouping-toggle.collapsed .expand-icon { display: none; } .gc-grouping-toggle.collapsed .collapse-icon { display: inline-flex; } .header-cell { display: flex; align-items: center; border-bottom: 1px solid rgba(0, 0, 0, 0.2); border-right: 1px solid rgba(0, 0, 0, 0.2); font-weight: 700; height: 100%; position: absolute; width: 600px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZlYXR1cmVzL0dyb3VwaW5nL0N1c3RvbWl6ZWRHcm91cC9wdXJlanMvc3R5bGVzLnNjc3MiLCJGZWF0dXJlcy9Hcm91cGluZy9DdXN0b21pemVkR3JvdXAvcHVyZWpzL3N0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QUNDRjs7QURFQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtBQ0NGOztBREdFO0VBQ0Usb0JBQUE7QUNBSjtBREVFO0VBQ0UsYUFBQTtBQ0FKOztBREtFO0VBQ0UsYUFBQTtBQ0ZKO0FESUU7RUFDRSxvQkFBQTtBQ0ZKOztBRE1BO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkNBQUE7RUFDQSwwQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQ0hGIiwiZmlsZSI6IkZlYXR1cmVzL0dyb3VwaW5nL0N1c3RvbWl6ZWRHcm91cC9wdXJlanMvc3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5nYy1ncm91cGluZy10b2dnbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi5nYy1ncm91cGluZy10b2dnbGUgc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5nYy1ncm91cGluZy10b2dnbGUuZXhwYW5kIHtcbiAgLmV4cGFuZC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuICAuY29sbGFwc2UtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZ2MtZ3JvdXBpbmctdG9nZ2xlLmNvbGxhcHNlZCB7XG4gIC5leHBhbmQtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY29sbGFwc2UtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbn1cblxuLmhlYWRlci1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDYwMHB4O1xufVxuIiwiLmdjLWdyb3VwaW5nLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLmdjLWdyb3VwaW5nLXRvZ2dsZSBzdmcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmdjLWdyb3VwaW5nLXRvZ2dsZS5leHBhbmQgLmV4cGFuZC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uZ2MtZ3JvdXBpbmctdG9nZ2xlLmV4cGFuZCAuY29sbGFwc2UtaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nYy1ncm91cGluZy10b2dnbGUuY29sbGFwc2VkIC5leHBhbmQtaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZ2MtZ3JvdXBpbmctdG9nZ2xlLmNvbGxhcHNlZCAuY29sbGFwc2UtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uaGVhZGVyLWNlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNjAwcHg7XG59Il19 */