UNPKG

amis

Version:

一种MIS页面生成工具

61 lines (60 loc) 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AvatarFieldRenderer = exports.AvatarField = void 0; var tslib_1 = require("tslib"); /** * @file 用来展示用户头像 */ var react_1 = tslib_1.__importDefault(require("react")); var factory_1 = require("../factory"); var Badge_1 = require("../components/Badge"); var tpl_builtin_1 = require("../utils/tpl-builtin"); var AvatarField = /** @class */ (function (_super) { tslib_1.__extends(AvatarField, _super); function AvatarField() { return _super !== null && _super.apply(this, arguments) || this; } AvatarField.prototype.render = function () { var _a = this.props, className = _a.className, _b = _a.icon, icon = _b === void 0 ? 'fa fa-user' : _b, text = _a.text, src = _a.src, _c = _a.fit, fit = _c === void 0 ? 'cover' : _c, data = _a.data, _d = _a.shape, shape = _d === void 0 ? 'circle' : _d, _e = _a.size, size = _e === void 0 ? 40 : _e, style = _a.style, cx = _a.classnames, props = _a.props; var sizeStyle = { height: size, width: size, lineHeight: size + 'px' }; var avatar = react_1.default.createElement("i", { className: icon }); if (typeof text === 'string' && text[0] === '$') { text = tpl_builtin_1.resolveVariable(text, data); } if (typeof src === 'string' && src[0] === '$') { src = tpl_builtin_1.resolveVariable(src, data); } if (text) { if (text.length > 2) { text = text.substring(0, 2).toUpperCase(); } avatar = react_1.default.createElement("span", null, text); } if (src) { avatar = react_1.default.createElement("img", { src: src, style: { objectFit: fit } }); } return (react_1.default.createElement("div", tslib_1.__assign({ className: cx('Avatar', className, "Avatar--" + shape), style: tslib_1.__assign(tslib_1.__assign({}, sizeStyle), style) }, props), avatar)); }; return AvatarField; }(react_1.default.Component)); exports.AvatarField = AvatarField; var AvatarFieldRenderer = /** @class */ (function (_super) { tslib_1.__extends(AvatarFieldRenderer, _super); function AvatarFieldRenderer() { return _super !== null && _super.apply(this, arguments) || this; } AvatarFieldRenderer = tslib_1.__decorate([ factory_1.Renderer({ test: /(^|\/)avatar$/, name: 'avatar' }), Badge_1.withBadge ], AvatarFieldRenderer); return AvatarFieldRenderer; }(AvatarField)); exports.AvatarFieldRenderer = AvatarFieldRenderer; //# sourceMappingURL=./renderers/Avatar.js.map