UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

44 lines 2.28 kB
define(["require", "exports", "react", "office-ui-fabric-react/lib/Utilities", "office-ui-fabric-react/lib/Button", "office-ui-fabric-react/lib/Link", "office-ui-fabric-react/lib/FocusZone", "office-ui-fabric-react/lib/DetailsList"], function (require, exports, React, Utilities_1, Button_1, Link_1, FocusZone_1, DetailsList_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ITEMS = Utilities_1.createArray(10, function (index) { return ({ key: index.toString(), name: 'Item-' + index, url: 'http://placehold.it/100x' + (200 + index) }); }); var COLUMNS = [ { key: 'name', name: 'Name', fieldName: 'name', minWidth: 100 }, { key: 'link', name: 'Link', fieldName: 'url', minWidth: 100, onRender: function (item) { return React.createElement(Link_1.Link, { href: item.url }, item.url); } }, { key: 'defaultButton', name: 'Link', fieldName: 'url', minWidth: 100, onRender: function (item) { return React.createElement(Button_1.DefaultButton, null, item.url); } } ]; exports.FocusZoneListExample = function () { // Initialize the selection when the component is first rendered (same instance will be reused) var selection = React.useState(function () { var sel = new DetailsList_1.Selection(); sel.setItems(ITEMS); return sel; })[0]; return (React.createElement(FocusZone_1.FocusZone, { direction: FocusZone_1.FocusZoneDirection.vertical, isCircularNavigation: true, isInnerZoneKeystroke: _isInnerZoneKeystroke, role: "grid" }, ITEMS.map(function (item, index) { return (React.createElement(DetailsList_1.DetailsRow, { key: item.name, item: item, itemIndex: index, columns: COLUMNS, selectionMode: DetailsList_1.SelectionMode.none, selection: selection, styles: { root: { display: 'block', width: '100%' } } })); }))); }; function _isInnerZoneKeystroke(ev) { return ev.which === Utilities_1.getRTLSafeKeyCode(Utilities_1.KeyCodes.right); } }); //# sourceMappingURL=FocusZone.List.Example.js.map