UNPKG

catreact

Version:

Catavolt Core React Components

62 lines (61 loc) 1.78 kB
"use strict"; /** * Created by rburson on 12/23/15. */ var React = require('react'); var catreact_core_1 = require('./catreact-core'); var catavolt_sdk_1 = require('catavolt-sdk'); /** * Render an sdk {Workbench} */ exports.CvWorkbench = React.createClass({ mixins: [catreact_core_1.CvBaseMixin], appWinDef: function () { return this.props.appWinDef || this.firstInScope(catavolt_sdk_1.AppWinDef); }, getDefaultProps: function () { return { appWinDef: null, workbenchId: null, workbench: null }; }, getChildContext: function () { var ctx = this.getDefaultChildContext(); ctx.cvContext.scopeCtx.scopeObj = this.workbench(); return ctx; }, render: function () { var workbench = this.workbench(); if (workbench) { if (this.props.renderer) { return this.props.renderer(this.getChildContext().cvContext); } else if (React.Children.count(this.props.children) > 0) { return this.props.children; } else { return null; } } else { return null; } }, workbench: function () { var _this = this; if (this.props.workbench) { return this.props.workbench; } else { var appWinDef = this.appWinDef(); var workbench_1 = null; appWinDef.workbenches.some(function (wb) { if (wb.workbenchId == _this.props.workbenchId) { workbench_1 = wb; return true; } else { return false; } }); return workbench_1; } } });