mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-09 14:45:35 +00:00
Continued porting to react, approaching beta
This commit is contained in:
@@ -1,13 +1,20 @@
|
||||
import React from 'react';
|
||||
import TranslatedComponent from './TranslatedComponent';
|
||||
import InterfaceEvents from '../utils/InterfaceEvents';
|
||||
import ShortenUrl from '../utils/ShortenUrl';
|
||||
|
||||
/**
|
||||
* Permalink modal
|
||||
*/
|
||||
export default class ModalPermalink extends TranslatedComponent {
|
||||
|
||||
static propTypes = {
|
||||
url: React.propTypes.string.isRequired
|
||||
url: React.PropTypes.string.isRequired
|
||||
};
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param {Object} props React Component properties
|
||||
*/
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
@@ -16,13 +23,20 @@ export default class ModalPermalink extends TranslatedComponent {
|
||||
};
|
||||
}
|
||||
|
||||
componentWillMount(){
|
||||
/**
|
||||
* Shorten URL on mount
|
||||
*/
|
||||
componentWillMount() {
|
||||
ShortenUrl(this.props.url,
|
||||
(shortenedUrl) => this.setState({ shortenedUrl }),
|
||||
(error) => this.setState({ shortenedUrl: 'Error - ' + e.statusText })
|
||||
(error) => this.setState({ shortenedUrl: 'Error - ' + error })
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the modal
|
||||
* @return {React.Component} Modal Content
|
||||
*/
|
||||
render() {
|
||||
let translate = this.context.language.translate;
|
||||
|
||||
@@ -30,12 +44,12 @@ export default class ModalPermalink extends TranslatedComponent {
|
||||
<h2>{translate('permalink')}</h2>
|
||||
<br/>
|
||||
<h3>{translate('URL')}</h3>
|
||||
<input value={this.props.url} size={40} onFocus={ (e) => e.target.select() }/>
|
||||
<input value={this.props.url} size={40} readOnly onFocus={ (e) => e.target.select() }/>
|
||||
<br/><br/>
|
||||
<h3 >{translate('shortened')}</h3>
|
||||
<input value={this.state.shortenedUrl} size={25} onFocus={ (e) => e.target.select() }/>
|
||||
<input value={this.state.shortenedUrl} readOnly size={25} onFocus={ (e) => e.target.select() }/>
|
||||
<br/><br/>
|
||||
<button className={'r dismiss cap'} onClick={InterfaceEvents.hideModal}>{translate('close')}</button>
|
||||
<button className={'r dismiss cap'} onClick={this.context.hideModal}>{translate('close')}</button>
|
||||
</div>;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user