@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
38 lines • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = require("react");
var react_1 = require("react");
var task_decision_1 = require("@atlaskit/task-decision");
var providerFactory_1 = require("../../../providerFactory");
var TaskItem = (function (_super) {
tslib_1.__extends(TaskItem, _super);
function TaskItem(props) {
var _this = _super.call(this, props) || this;
_this.renderWithProvider = function (providers) {
var taskDecisionProvider = providers.taskDecisionProvider;
var _a = _this.props, children = _a.children, localId = _a.localId, state = _a.state, rendererContext = _a.rendererContext;
var _b = rendererContext || { objectAri: '', containerAri: '' }, objectAri = _b.objectAri, containerAri = _b.containerAri;
return (React.createElement(task_decision_1.ResourcedTaskItem, { taskId: localId, isDone: state === 'DONE', objectAri: objectAri, containerAri: containerAri, taskDecisionProvider: taskDecisionProvider }, children));
};
_this.providerFactory = props.providers || new providerFactory_1.default();
return _this;
}
TaskItem.prototype.componentWillUnmount = function () {
if (!this.props.providers) {
// new ProviderFactory is created if no `providers` has been set
// in this case when component is unmounted it's safe to destroy this providerFactory
this.providerFactory.destroy();
}
};
TaskItem.prototype.render = function () {
var children = this.props.children;
if (react_1.Children.count(children) === 0) {
return null;
}
return (React.createElement(providerFactory_1.WithProviders, { providers: ['taskDecisionProvider'], providerFactory: this.providerFactory, renderNode: this.renderWithProvider }));
};
return TaskItem;
}(react_1.PureComponent));
exports.default = TaskItem;
//# sourceMappingURL=taskItem.js.map