UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

58 lines 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var ReactDOM = tslib_1.__importStar(require("react-dom")); var sp_core_library_1 = require("@microsoft/sp-core-library"); var sp_listview_extensibility_1 = require("@microsoft/sp-listview-extensibility"); var OotbFields_1 = tslib_1.__importDefault(require("./components/Customizer/OotbFields")); var SPHelper_1 = require("../../common/utilities/SPHelper"); var GeneralHelper_1 = require("../../common/utilities/GeneralHelper"); var LOG_SOURCE = 'OotbFieldsFieldCustomizer'; var OotbFieldsFieldCustomizer = /** @class */ (function (_super) { tslib_1.__extends(OotbFieldsFieldCustomizer, _super); function OotbFieldsFieldCustomizer() { var _this = _super !== null && _super.apply(this, arguments) || this; _this._shouldRenderUndefiend = false; return _this; } OotbFieldsFieldCustomizer.prototype.onInit = function () { // Add your custom initialization to this method. The framework will wait // for the returned promise to resolve before firing any BaseFieldCustomizer events. sp_core_library_1.Log.info(LOG_SOURCE, 'Activated OotbFieldsFieldCustomizer with properties:'); if (this.context.field.fieldType === 'Computed' && this.context.field.internalName === 'DocIcon') { this._shouldRenderUndefiend = true; } return Promise.resolve(); }; OotbFieldsFieldCustomizer.prototype.onRenderCell = function (event) { var _this = this; if (!this._shouldRenderUndefiend && !GeneralHelper_1.GeneralHelper.isDefined(event.fieldValue)) { return; } var fieldName = SPHelper_1.SPHelper.getStoredFieldName(this.context.field.internalName); SPHelper_1.SPHelper.getFieldText(event.fieldValue, event.listItem, this.context).then(function (text) { var ootbFields = React.createElement(OotbFields_1.default, { text: text, value: event.fieldValue, listItem: event.listItem, fieldName: fieldName, context: _this.context, //cssProps: { backgroundColor: '#f00' }, className: 'fake-class' }); ReactDOM.render(ootbFields, event.domElement); }).catch(function () { }); }; OotbFieldsFieldCustomizer.prototype.onDisposeCell = function (event) { // This method should be used to free any resources that were allocated during rendering. // For example, if your onRenderCell() called ReactDOM.render(), then you should // call ReactDOM.unmountComponentAtNode() here. ReactDOM.unmountComponentAtNode(event.domElement); _super.prototype.onDisposeCell.call(this, event); }; return OotbFieldsFieldCustomizer; }(sp_listview_extensibility_1.BaseFieldCustomizer)); exports.default = OotbFieldsFieldCustomizer; // test querystring ?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&fieldCustomizers={"FieldName":{"id":"57ebd944-98ed-43f9-b722-e959d6dac6ad","properties":{}}} //# sourceMappingURL=OotbFieldsFieldCustomizer.js.map