@atlaskit/editor-plugin-tasks-and-decisions
Version:
Tasks and decisions plugin for @atlaskit/editor-core
79 lines (78 loc) • 4.18 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
import _inherits from "@babel/runtime/helpers/inherits";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
var _excluded = ["providers", "intl", "taskDecisionProvider", "api", "placeholder"];
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
import React, { PureComponent } from 'react';
import { injectIntl } from 'react-intl';
import { tasksAndDecisionsMessages } from '@atlaskit/editor-common/messages';
import { ProviderFactory, WithProviders } from '@atlaskit/editor-common/provider-factory';
import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
import TaskItemWithProviders from './task-item-with-providers';
// eslint-disable-next-line @repo/internal/react/no-class-components
export var TaskItem = /*#__PURE__*/function (_PureComponent) {
function TaskItem(props) {
var _this;
_classCallCheck(this, TaskItem);
_this = _callSuper(this, TaskItem, [props]);
_defineProperty(_this, "renderWithProvider", function (providers) {
var _this$props = _this.props,
_providerFactory = _this$props.providers,
formatMessage = _this$props.intl.formatMessage,
taskDecisionProvider = _this$props.taskDecisionProvider,
api = _this$props.api,
placeholder = _this$props.placeholder,
otherProps = _objectWithoutProperties(_this$props, _excluded);
var contextIdentifierProvider = providers.contextIdentifierProvider;
return /*#__PURE__*/React.createElement(TaskItemWithProviders
// Ignored via go/ees005
// eslint-disable-next-line react/jsx-props-no-spreading
, _extends({}, otherProps, {
placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : formatMessage(tasksAndDecisionsMessages.taskPlaceholder),
taskDecisionProvider: taskDecisionProvider ? Promise.resolve(taskDecisionProvider) : undefined,
contextIdentifierProvider: contextIdentifierProvider
}));
});
_this.providerFactory = props.providers || new ProviderFactory();
return _this;
}
_inherits(TaskItem, _PureComponent);
return _createClass(TaskItem, [{
key: "componentWillUnmount",
value: function componentWillUnmount() {
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();
}
}
}, {
key: "render",
value: function render() {
var providers = ['contextIdentifierProvider'];
return /*#__PURE__*/React.createElement(WithProviders, {
providers: providers,
providerFactory: this.providerFactory,
renderNode: this.renderWithProvider
});
}
}]);
}(PureComponent);
_defineProperty(TaskItem, "displayName", 'TaskItem');
var TaskItemWrapper = function TaskItemWrapper(props) {
var provider = useSharedPluginStateSelector(props.api, 'taskDecision.taskDecisionProvider');
// Ignored via go/ees005
// eslint-disable-next-line react/jsx-props-no-spreading
return /*#__PURE__*/React.createElement(TaskItem, _extends({
taskDecisionProvider: provider
}, props));
};
// eslint-disable-next-line @typescript-eslint/ban-types
var _default_1 = injectIntl(TaskItemWrapper);
export default _default_1;