|
@@ -19,6 +19,8 @@ import React, { Component, PropTypes } from 'react';
|
|
|
import withStyles from 'isomorphic-style-loader/lib/withStyles';
|
|
import withStyles from 'isomorphic-style-loader/lib/withStyles';
|
|
|
import s from './MigrationDetail.scss';
|
|
import s from './MigrationDetail.scss';
|
|
|
import Moment from 'react-moment';
|
|
import Moment from 'react-moment';
|
|
|
|
|
+import Helper from "../Helper"
|
|
|
|
|
+import NotificationActions from '../../actions/NotificationActions'
|
|
|
import Location from '../../core/Location';
|
|
import Location from '../../core/Location';
|
|
|
import EndpointLink from '../EndpointLink';
|
|
import EndpointLink from '../EndpointLink';
|
|
|
import ConfirmationDialog from '../ConfirmationDialog'
|
|
import ConfirmationDialog from '../ConfirmationDialog'
|
|
@@ -72,6 +74,16 @@ class MigrationDetail extends Component {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ copyIdClick(item) {
|
|
|
|
|
+ let succesful = Helper.copyTextToClipboard(item.id)
|
|
|
|
|
+
|
|
|
|
|
+ if (succesful) {
|
|
|
|
|
+ NotificationActions.notify('The ID has been copied to clipboard.')
|
|
|
|
|
+ } else {
|
|
|
|
|
+ NotificationActions.notify('The ID couldn\'t be copied', 'error')
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
render() {
|
|
render() {
|
|
|
let item = this.props.migration
|
|
let item = this.props.migration
|
|
|
let output = null
|
|
let output = null
|
|
@@ -138,8 +150,13 @@ class MigrationDetail extends Component {
|
|
|
<div className={s.titleIp}>
|
|
<div className={s.titleIp}>
|
|
|
Id
|
|
Id
|
|
|
</div>
|
|
</div>
|
|
|
- <div className={s.value}>
|
|
|
|
|
|
|
+ <div className={s.value + ' ' + s.idValue}
|
|
|
|
|
+ onClick={() => this.copyIdClick(item)}
|
|
|
|
|
+ onMouseDown={e => e.stopPropagation()}
|
|
|
|
|
+ onMouseUp={e => e.stopPropagation()}
|
|
|
|
|
+ >
|
|
|
<a>{item.id}</a>
|
|
<a>{item.id}</a>
|
|
|
|
|
+ <span className="copyButton"></span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|