@uifabric/experiments
Version:
Experimental React components for building experiences for Office 365.
91 lines • 5.5 kB
JavaScript
define(["require", "exports", "tslib", "react", "@uifabric/experiments/lib/Tile", "office-ui-fabric-react/lib/Checkbox", "../../signals/Signals", "@uifabric/example-app-base", "@uifabric/experiments/lib/Utilities", "./Tile.Example.scss"], function (require, exports, tslib_1, React, Tile_1, Checkbox_1, Signals_1, example_app_base_1, Utilities_1, TileExampleStylesModule) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// tslint:disable-next-line:no-any
var TileExampleStyles = TileExampleStylesModule;
var ITEMS = [
{
name: example_app_base_1.lorem(2),
activity: example_app_base_1.lorem(6)
},
{
name: example_app_base_1.lorem(2),
activity: example_app_base_1.lorem(6)
},
{
name: example_app_base_1.lorem(2),
activity: example_app_base_1.lorem(6)
},
{
name: example_app_base_1.lorem(2),
activity: example_app_base_1.lorem(6)
},
{
name: example_app_base_1.lorem(2),
activity: example_app_base_1.lorem(6)
}
];
var DocumentTileWithThumbnail = function (props) {
var tile = (React.createElement(Tile_1.Tile, { contentSize: {
width: 176,
height: 171
}, itemName: React.createElement(Signals_1.SignalField, { before: React.createElement(Signals_1.TrendingSignal, null) }, props.item.name), itemActivity: React.createElement(Signals_1.SignalField, { before: React.createElement(Signals_1.CommentsSignal, null, '12') }, props.item.activity), foreground: React.createElement("span", null), hideForeground: !props.showForeground, showForegroundFrame: true }));
var _a = Tile_1.getTileLayout(tile).foregroundSize, foregroundSize = _a === void 0 ? { width: 0, height: 0 } : _a;
var imageSize = Utilities_1.fitContentToBounds({
contentSize: props.originalImageSize,
boundsSize: foregroundSize,
mode: 'contain'
});
return (React.createElement("div", { className: Utilities_1.css(TileExampleStyles.tile, TileExampleStyles.largeTile) }, Tile_1.renderTileWithLayout(tile, {
foreground: (React.createElement("img", { src: "//placehold.it/" + Math.round(imageSize.width) + "x" + Math.round(imageSize.height), className: Utilities_1.css(TileExampleStyles.tileImage) }))
})));
};
var TileDocumentExample = /** @class */ (function (_super) {
tslib_1.__extends(TileDocumentExample, _super);
function TileDocumentExample(props) {
var _this = _super.call(this, props) || this;
_this._onImagesLoadedChanged = function (event, checked) {
_this.setState({
imagesLoaded: checked
});
};
_this.state = {
imagesLoaded: true
};
return _this;
}
TileDocumentExample.prototype.render = function () {
var imagesLoaded = this.state.imagesLoaded;
return (React.createElement("div", null,
React.createElement(Checkbox_1.Checkbox, { label: "Show images as loaded", checked: imagesLoaded, onChange: this._onImagesLoadedChanged }),
React.createElement("h3", null, "Document thumbnail"),
React.createElement(DocumentTileWithThumbnail, { originalImageSize: {
width: 40,
height: 40
}, showForeground: imagesLoaded, item: ITEMS[0] }),
React.createElement(DocumentTileWithThumbnail, { originalImageSize: {
width: 200,
height: 150
}, showForeground: imagesLoaded, item: ITEMS[1] }),
React.createElement(DocumentTileWithThumbnail, { originalImageSize: {
width: 150,
height: 200
}, showForeground: imagesLoaded, item: ITEMS[2] }),
React.createElement(DocumentTileWithThumbnail, { originalImageSize: {
width: 16,
height: 16
}, showForeground: imagesLoaded, item: ITEMS[3] }),
React.createElement("h3", null, "Document icon"),
React.createElement("div", { className: Utilities_1.css(TileExampleStyles.tile, TileExampleStyles.largeTile) },
React.createElement(Tile_1.Tile, { itemName: React.createElement(Signals_1.SignalField, { before: React.createElement(Signals_1.NewSignal, null) }, ITEMS[3].name), itemActivity: React.createElement(Signals_1.SignalField, { before: React.createElement(Signals_1.SharedSignal, null) }, ITEMS[3].activity), foreground: React.createElement("img", { src: "https://static2.sharepointonline.com/files/fabric/assets/brand-icons/document/svg/docx_48x1.svg", style: {
display: 'block',
width: '64px',
height: '64px',
margin: '16px'
} }), showForegroundFrame: true }))));
};
return TileDocumentExample;
}(React.Component));
exports.TileDocumentExample = TileDocumentExample;
});
//# sourceMappingURL=Tile.Document.Example.js.map