import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { defineMessages, injectIntl } from 'react-intl'; import injectWbResizeEvent from '/imports/ui/components/presentation/resize-wrapper/component'; import Button from '/imports/ui/components/button/component'; import NoteService from '/imports/ui/components/note/service'; import { styles } from './styles'; import { PANELS, ACTIONS } from '../layout/enums'; const intlMessages = defineMessages({ hideNoteLabel: { id: 'app.note.hideNoteLabel', description: 'Label for hiding note button', }, title: { id: 'app.note.title', description: 'Title for the shared notes', }, tipLabel: { id: 'app.note.tipLabel', description: 'Label for tip on how to escape iframe', }, }); const propTypes = { isLocked: PropTypes.bool.isRequired, intl: PropTypes.shape({ formatMessage: PropTypes.func.isRequired, }).isRequired, }; class Note extends Component { constructor(props) { super(props); this.noteURL = NoteService.getNoteURL(); this.readOnlyURL = NoteService.getReadOnlyURL(); } componentWillUnmount() { const revs = NoteService.getRevs(); NoteService.setLastRevs(revs); } render() { const { isLocked, intl, isRTL, layoutContextDispatch, isResizing, } = this.props; const url = isLocked ? this.readOnlyURL : this.noteURL; return (