UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

42 lines (39 loc) 1.66 kB
import _extends from "@babel/runtime/helpers/extends"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import React from 'react'; import { WithProviders } from '../../provider-factory'; // eslint-disable-next-line no-duplicate-imports export default function withActivityProvider(WrappedComponent) { return class WithActivityProvider extends React.Component { constructor(...args) { super(...args); _defineProperty(this, "renderNode", providers => { const { providerFactory: _providerFactory, ...props } = this.props; const { activityProvider } = providers; // Ignored via go/ees005 // eslint-disable-next-line @typescript-eslint/no-explicit-any, react/jsx-props-no-spreading return /*#__PURE__*/React.createElement(WrappedComponent, _extends({ activityProvider: activityProvider }, props)); }); } render() { const { providerFactory } = this.props; return /*#__PURE__*/React.createElement(WithProviders // Memoising this array causes the component fail tests in platform/packages/editor/editor-plugin-media-tests/src/__tests__/playwright/media-link.spec.ts because the WithProviders component doesn't update when the parent rerenders - this is a bug with the underlying WithProviders component // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , { providers: ['activityProvider'], providerFactory: providerFactory, renderNode: this.renderNode }); } }; }