From b05c317c656b74d773f3977aaf0e2e8e83b1380b Mon Sep 17 00:00:00 2001
From: hmhealey <harrisonmhealey@gmail.com>
Date: Tue, 9 Feb 2016 15:22:24 -0500
Subject: Replaced Permalink popover with a Permalink modal

---
 web/react/components/post_info.jsx | 81 +++-----------------------------------
 1 file changed, 5 insertions(+), 76 deletions(-)

(limited to 'web/react/components/post_info.jsx')

diff --git a/web/react/components/post_info.jsx b/web/react/components/post_info.jsx
index b1bc8ca14..6d82423d5 100644
--- a/web/react/components/post_info.jsx
+++ b/web/react/components/post_info.jsx
@@ -2,7 +2,6 @@
 // See License.txt for license information.
 
 import UserStore from '../stores/user_store.jsx';
-import TeamStore from '../stores/team_store.jsx';
 import * as Utils from '../utils/utils.jsx';
 import TimeSince from './time_since.jsx';
 import * as EventHelpers from '../dispatcher/event_helpers.jsx';
@@ -11,18 +10,11 @@ import Constants from '../utils/constants.jsx';
 
 import {FormattedMessage} from 'mm-intl';
 
-const Overlay = ReactBootstrap.Overlay;
-const Popover = ReactBootstrap.Popover;
-
 export default class PostInfo extends React.Component {
     constructor(props) {
         super(props);
-        this.state = {
-            copiedLink: false,
-            show: false
-        };
 
-        this.handlePermalinkCopy = this.handlePermalinkCopy.bind(this);
+        this.handlePermalink = this.handlePermalink.bind(this);
         this.removePost = this.removePost.bind(this);
     }
     createDropdown() {
@@ -72,7 +64,7 @@ export default class PostInfo extends React.Component {
             >
                 <a
                     href='#'
-                    onClick={(e) => this.setState({target: e.target, show: !this.state.show})}
+                    onClick={this.handlePermalink}
                 >
                     <FormattedMessage
                         id='post_info.permalink'
@@ -152,21 +144,10 @@ export default class PostInfo extends React.Component {
         );
     }
 
-    handlePermalinkCopy() {
-        const textBox = $(ReactDOM.findDOMNode(this.refs.permalinkbox));
-        textBox.select();
-
-        try {
-            const successful = document.execCommand('copy');
-            if (successful) {
-                this.setState({copiedLink: true, show: false});
-            } else {
-                this.setState({copiedLink: false});
-            }
-        } catch (err) {
-            this.setState({copiedLink: false});
-        }
+    handlePermalink() {
+        EventHelpers.showGetPostLinkModal(this.props.post);
     }
+
     removePost() {
         EventHelpers.emitRemovePost(this.props.post);
     }
@@ -216,47 +197,6 @@ export default class PostInfo extends React.Component {
 
         var dropdown = this.createDropdown();
 
-        const permalink = TeamStore.getCurrentTeamUrl() + '/pl/' + post.id;
-        const copyButtonText = this.state.copiedLink ? (
-            <div>
-                <FormattedMessage
-                    id='post_info.copy'
-                    defaultMessage='Copy '
-                />
-                <i className='fa fa-check'/></div>
-        ) : (<FormattedMessage id='post_info.copy' />);
-
-        const permalinkOverlay = (
-            <Popover
-                id='permalink-overlay'
-                className='permalink-popover'
-                placement='left'
-                title=''
-            >
-                <div className='form-inline'>
-                    <input
-                        type='text'
-                        readOnly='true'
-                        ref='permalinkbox'
-                        className='permalink-text form-control no-resize'
-                        rows='1'
-                        value={permalink}
-                    />
-                    <button
-                        data-copy-btn='true'
-                        type='button'
-                        className='btn btn-primary'
-                        onClick={this.handlePermalinkCopy}
-                        data-clipboard-text={permalink}
-                    >
-                        {copyButtonText}
-                    </button>
-                </div>
-            </Popover>
-        );
-
-        const containerPadding = 20;
-
         return (
             <ul className='post__header post__header--info'>
                 <li className='col'>
@@ -273,17 +213,6 @@ export default class PostInfo extends React.Component {
                         {dropdown}
                     </div>
                     {comments}
-                    <Overlay
-                        show={this.state.show}
-                        target={() => ReactDOM.findDOMNode(this.refs.dotMenu)}
-                        onHide={() => this.setState({show: false})}
-                        placement='left'
-                        container={this}
-                        containerPadding={containerPadding}
-                        rootClose={true}
-                    >
-                        {permalinkOverlay}
-                    </Overlay>
                     {this.createRemovePostButton(post)}
                 </li>
             </ul>
-- 
cgit v1.2.3-1-g7c22

