This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
outline/app/embeds/InVision.js
Tom Moor 9274005cbb feat: Upgrade editor (#1227)
* WIP

* document migration

* fix: Handle clashing keyboard events

* fix: convert getSummary

* fix: parseDocumentIds

* lint

* fix: Remove unused plugin

* Move editor version to header
Add editor version check for API endpoints

* fix: Editor update auto-reload
Bump RME

* test

* bump rme

* Remove slate flow types, improve themeing, bump rme

* bump rme

* fix: parseDocumentIds returning duplicate ID's, improved regression tests

* test

* fix: Missing code styles

* lint

* chore: Upgrade v2 migration to use AST

* Bump RME

* Update welcome doc

* add highlight to keyboard shortcuts ref

* theming improvements

* fix: Code comments show as headings, closes #1255

* loop

* fix: TOC highlighting

* lint

* add: Automated backup of docs before migration

* Update embeds to new format

* fix: React warning

* bump to final editor version 10.0.0

* test
2020-05-19 20:39:34 -07:00

43 lines
972 B
JavaScript

// @flow
import * as React from 'react';
import ImageZoom from 'react-medium-image-zoom';
import Frame from './components/Frame';
const IFRAME_REGEX = new RegExp(
'^https://(invis.io/.*)|(projects.invisionapp.com/share/.*)$'
);
const IMAGE_REGEX = new RegExp(
'^https://(opal.invisionapp.com/static-signed/live-embed/.*)$'
);
type Props = {|
attrs: {|
href: string,
matches: string[],
|},
|};
export default class InVision extends React.Component<Props> {
static ENABLED = [IFRAME_REGEX, IMAGE_REGEX];
render() {
if (IMAGE_REGEX.test(this.props.attrs.href)) {
return (
<ImageZoom
image={{
src: this.props.attrs.href,
alt: 'InVision Embed',
style: {
maxWidth: '100%',
maxHeight: '75vh',
},
}}
shouldRespectMaxDimension
/>
);
}
return <Frame src={this.props.attrs.href} title="InVision Embed" />;
}
}