UNPKG

@atlaskit/editor-plugin-card

Version:

Card plugin for @atlaskit/editor-core

85 lines (84 loc) 4.03 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.DatasourceErrorBoundary = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _adfSchema = require("@atlaskit/adf-schema"); var _linkDatasource = require("@atlaskit/link-datasource"); var _doc = require("../pm-plugins/doc"); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(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; })(); } /* eslint-disable @repo/internal/react/no-class-components */ var DatasourceErrorBoundary = exports.DatasourceErrorBoundary = /*#__PURE__*/function (_React$Component) { function DatasourceErrorBoundary() { var _this; (0, _classCallCheck2.default)(this, DatasourceErrorBoundary); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, DatasourceErrorBoundary, [].concat(args)); (0, _defineProperty2.default)(_this, "state", { isError: false, error: null }); return _this; } (0, _inherits2.default)(DatasourceErrorBoundary, _React$Component); return (0, _createClass2.default)(DatasourceErrorBoundary, [{ key: "componentDidCatch", value: function componentDidCatch(error) { if (this.props.handleError) { this.props.handleError(); } // prevent re-render children with error if (this.state.isError) { this.setState({ isError: true, error: error }); } } }, { key: "render", value: function render() { var _this$props = this.props, url = _this$props.url, UnsupportedComponent = _this$props.unsupportedComponent, view = _this$props.view, datasourceModalType = _this$props.datasourceModalType, datasourceId = _this$props.datasourceId; if (this.state.isError) { if (url && (0, _adfSchema.isSafeUrl)(url)) { return /*#__PURE__*/_react.default.createElement(_linkDatasource.LazyLoadedDatasourceRenderFailedAnalyticsWrapper, { datasourceId: datasourceId, error: this.state.error }, (0, _doc.setSelectedCardAppearance)('inline', undefined)(view.state, view.dispatch)); } else { var unsupportedComponent = UnsupportedComponent ? /*#__PURE__*/_react.default.createElement(UnsupportedComponent, null) : null; return /*#__PURE__*/_react.default.createElement(_linkDatasource.LazyLoadedDatasourceRenderFailedAnalyticsWrapper, { datasourceModalType: datasourceModalType, datasourceId: datasourceId, error: this.state.error }, unsupportedComponent); } } else { return this.props.children; } } }], [{ key: "getDerivedStateFromError", value: function getDerivedStateFromError(error) { return { isError: true, error: error }; } }]); }(_react.default.Component);