UNPKG

grommet

Version:

focus on the essential experience

109 lines (108 loc) 2.55 kB
"use strict"; exports.__esModule = true; exports["default"] = exports.Sort = void 0; var _react = _interopRequireDefault(require("react")); var _grommet = require("grommet"); var _data = require("./data"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } // This story uses intentionally-messy values (e.g. mixed case) // to demonstrate case-insensitive sorting var DATA = [{ name: 'zoey', location: '', date: '', percent: 0, paid: 0 }, { name: 'aaron', location: '', date: '', percent: 0, paid: 0 }, { name: 'Zelda', location: '', date: '', percent: 0, paid: 0 }, { name: 'Alan', location: '', date: '', percent: 0, paid: 0 }, { name: 'Bryan', location: 'Fort Collins', date: '2018-06-10', percent: 30, paid: 1234 }, { name: 'Chris', location: 'Palo Alto', date: '2018-06-09', percent: 40, paid: 2345 }, { name: 'Eric', location: 'Palo Alto', date: '2018-06-11', percent: 80, paid: 3456 }, { name: 'Doug', location: 'Fort Collins', date: '2018-06-10', percent: 60, paid: 1234 }, { name: 'Jet', location: 'Palo Alto', date: '2018-06-09', percent: 40, paid: 3456 }, { name: 'Michael', location: 'Boise', date: '2018-06-11', percent: 50, paid: 1234 }, { name: 'Tracy', location: 'San Francisco', date: '2018-06-10', percent: 10, paid: 2345 }]; var Sort = exports.Sort = function Sort() { var _React$useState = _react["default"].useState({ property: 'name', direction: 'desc' }), sort = _React$useState[0], setSort = _React$useState[1]; return ( /*#__PURE__*/ // Uncomment <Grommet> lines when using outside of storybook // <Grommet theme={grommet}> _react["default"].createElement(_grommet.Box, { align: "center", pad: "large" }, /*#__PURE__*/_react["default"].createElement(_grommet.DataTable, { columns: _data.columns.map(function (c) { return _extends({}, c, { search: c.property === 'name' || c.property === 'location' }); }), data: DATA, sort: sort, onSort: setSort, resizeable: true })) // </Grommet> ); }; var _default = exports["default"] = { title: 'Visualizations/DataTable/Sort' };