UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

69 lines 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = require("react"); var TextField_1 = require("office-ui-fabric-react/lib/TextField"); var DetailsList_1 = require("office-ui-fabric-react/lib/DetailsList"); var MarqueeSelection_1 = require("office-ui-fabric-react/lib/MarqueeSelection"); var Fabric_1 = require("office-ui-fabric-react/lib/Fabric"); var Styling_1 = require("office-ui-fabric-react/lib/Styling"); var exampleChildClass = Styling_1.mergeStyles({ display: 'block', marginBottom: '10px' }); var DetailsListCompactExample = /** @class */ (function (_super) { tslib_1.__extends(DetailsListCompactExample, _super); function DetailsListCompactExample(props) { var _this = _super.call(this, props) || this; _this._onFilter = function (ev, text) { _this.setState({ items: text ? _this._allItems.filter(function (i) { return i.name.toLowerCase().indexOf(text) > -1; }) : _this._allItems }); }; _this._selection = new DetailsList_1.Selection({ onSelectionChanged: function () { return _this.setState({ selectionDetails: _this._getSelectionDetails() }); } }); _this._allItems = []; for (var i = 0; i < 200; i++) { _this._allItems.push({ key: i, name: 'Item ' + i, value: i }); } _this._columns = [ { key: 'column1', name: 'Name', fieldName: 'name', minWidth: 100, maxWidth: 200, isResizable: true }, { key: 'column2', name: 'Value', fieldName: 'value', minWidth: 100, maxWidth: 200, isResizable: true } ]; _this.state = { items: _this._allItems, selectionDetails: _this._getSelectionDetails() }; return _this; } DetailsListCompactExample.prototype.render = function () { var _a = this.state, items = _a.items, selectionDetails = _a.selectionDetails; return (React.createElement(Fabric_1.Fabric, null, React.createElement("div", { className: exampleChildClass }, selectionDetails), React.createElement(TextField_1.TextField, { className: exampleChildClass, label: "Filter by name:", onChange: this._onFilter, styles: { root: { maxWidth: '300px' } } }), React.createElement(MarqueeSelection_1.MarqueeSelection, { selection: this._selection }, React.createElement(DetailsList_1.DetailsList, { compact: true, items: items, columns: this._columns, setKey: "set", layoutMode: DetailsList_1.DetailsListLayoutMode.justified, selection: this._selection, selectionPreservedOnEmptyClick: true, onItemInvoked: this._onItemInvoked, ariaLabelForSelectionColumn: "Toggle selection", ariaLabelForSelectAllCheckbox: "Toggle selection for all items", checkButtonAriaLabel: "Row checkbox" })))); }; DetailsListCompactExample.prototype._getSelectionDetails = function () { var selectionCount = this._selection.getSelectedCount(); switch (selectionCount) { case 0: return 'No items selected'; case 1: return '1 item selected: ' + this._selection.getSelection()[0].name; default: return selectionCount + " items selected"; } }; DetailsListCompactExample.prototype._onItemInvoked = function (item) { alert("Item invoked: " + item.name); }; return DetailsListCompactExample; }(React.Component)); exports.DetailsListCompactExample = DetailsListCompactExample; //# sourceMappingURL=DetailsList.Compact.Example.js.map