define(["require", "exports", "tslib", "react", "office-ui-fabric-react/lib/TextField", "office-ui-fabric-react/lib/DetailsList", "office-ui-fabric-react/lib/MarqueeSelection"], function (require, exports, tslib_1, React, TextField_1, DetailsList_1, MarqueeSelection_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var _items = [];
    var _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
        }
    ];
    var DetailsListCompactExample = /** @class */ (function (_super) {
        tslib_1.__extends(DetailsListCompactExample, _super);
        function DetailsListCompactExample(props) {
            var _this = _super.call(this, props) || this;
            _this._onChanged = function (text) {
                _this.setState({ items: text ? _items.filter(function (i) { return i.name.toLowerCase().indexOf(text) > -1; }) : _items });
            };
            // Populate with items for demos.
            if (_items.length === 0) {
                for (var i = 0; i < 200; i++) {
                    _items.push({
                        key: i,
                        name: 'Item ' + i,
                        value: i
                    });
                }
            }
            _this._selection = new DetailsList_1.Selection({
                onSelectionChanged: function () { return _this.setState({ selectionDetails: _this._getSelectionDetails() }); }
            });
            _this.state = {
                items: _items,
                selectionDetails: _this._getSelectionDetails()
            };
            return _this;
        }
        DetailsListCompactExample.prototype.render = function () {
            var _a = this.state, items = _a.items, selectionDetails = _a.selectionDetails;
            return (React.createElement("div", null,
                React.createElement("div", null, selectionDetails),
                React.createElement(TextField_1.TextField, { label: "Filter by name:", onChanged: this._onChanged }),
                React.createElement(MarqueeSelection_1.MarqueeSelection, { selection: this._selection },
                    React.createElement(DetailsList_1.DetailsList, { items: items, columns: _columns, setKey: "set", layoutMode: DetailsList_1.DetailsListLayoutMode.fixedColumns, selection: this._selection, selectionPreservedOnEmptyClick: true, onItemInvoked: this._onItemInvoked, compact: true }))));
        };
        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