@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
46 lines • 2.45 kB
JavaScript
;
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