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