UNPKG

catreact

Version:

Catavolt Core React Components

55 lines (54 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Created by rburson on 2/12/16. */ var React = require("react"); var catreact_core_1 = require("./catreact-core"); var catavolt_sdk_1 = require("catavolt-sdk"); /* *************************************************** * Render a QueryContext *************************************************** */ exports.CvRecordList = React.createClass({ mixins: [catreact_core_1.CvBaseMixin], getChildContext: function () { var ctx = this.getDefaultChildContext(); ctx.cvContext.scopeCtx.scopeObj = this.queryContext(); return ctx; }, getDefaultProps: function () { return { wrapperElemName: 'span', rowRenderer: null, queryContext: null, wrapperElemProps: {} }; }, queryContext: function (nextProps) { return (nextProps && nextProps.queryContext) || this.props.queryContext || this.firstInScope(catavolt_sdk_1.QueryContext); }, render: function () { var _this = this; var queryContext = this.queryContext(); if (queryContext && !queryContext.isDestroyed) { if (this.props.renderer) { return this.props.renderer(this.getChildContext().cvContext); } else if (this.props.rowRenderer) { var entityRecs = catavolt_sdk_1.ArrayUtil.copy(queryContext.scroller.buffer); var newChildren_1 = []; entityRecs.forEach(function (entityRec) { var row = _this.props.rowRenderer(_this.getChildContext().cvContext, entityRec); if (row) { var newElement = React.cloneElement(row, { key: entityRec.objectId }); newChildren_1.push(newElement); } }); return React.createElement(this.props.wrapperElemName, this.props.wrapperElemProps, newChildren_1); } else { return null; } } else { return null; } }, });