UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

46 lines 2.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldTextRenderer = void 0; var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var Utilities_1 = require("@fluentui/react/lib/Utilities"); var FieldTextRenderer_module_scss_1 = tslib_1.__importDefault(require("./FieldTextRenderer.module.scss")); var FieldBaseTextRenderer_1 = require("../fieldBaseTextRenderer/FieldBaseTextRenderer"); var telemetry = tslib_1.__importStar(require("../../../common/telemetry")); /** * Field Text Renderer. * Used for: * - Single line of text * - Multiline text * - Choice * - Checkbox * - Number * - Currency */ var FieldTextRenderer = /** @class */ (function (_super) { tslib_1.__extends(FieldTextRenderer, _super); function FieldTextRenderer(props, state) { var _this = _super.call(this, props, state) || this; telemetry.track('FieldTextRenderer', {}); _this.state = {}; return _this; } FieldTextRenderer.prototype.render = function () { var isSafeForInnerHTML = this.props.isSafeForInnerHTML; var isTruncatedClassNameObj = {}; // hack to avoid ts warning isTruncatedClassNameObj[FieldTextRenderer_module_scss_1.default.isTruncated] = this.props.isTruncated; var text = this.props.text; if (isSafeForInnerHTML && this.props.isTruncated) { text += "<div class=".concat(FieldTextRenderer_module_scss_1.default.truncate, " style=\"background: linear-gradient(to bottom, transparent, ").concat((this.props.cssProps && (this.props.cssProps.background || this.props.cssProps.backgroundColor)) || '#ffffff', " 100%)\"></div>"); } if (isSafeForInnerHTML) { return (React.createElement("div", { className: (0, Utilities_1.css)(this.props.className, FieldTextRenderer_module_scss_1.default.fieldRendererText, isTruncatedClassNameObj), style: this.props.cssProps, dangerouslySetInnerHTML: { __html: text } })); } else { return (React.createElement(FieldBaseTextRenderer_1.FieldBaseTextRenderer, { className: (0, Utilities_1.css)(this.props.className, FieldTextRenderer_module_scss_1.default.fieldRendererText), cssProps: this.props.cssProps, text: this.props.text })); } }; return FieldTextRenderer; }(React.Component)); exports.FieldTextRenderer = FieldTextRenderer; //# sourceMappingURL=FieldTextRenderer.js.map