1. import getVersionTags from '../tags';
    
  2. 
    
  3. const React = window.React;
    
  4. 
    
  5. class VersionPicker extends React.Component {
    
  6.   constructor(props, context) {
    
  7.     super(props, context);
    
  8.     const version = props.version || 'local';
    
  9.     const versions = [version];
    
  10.     this.state = {versions};
    
  11.   }
    
  12. 
    
  13.   componentWillMount() {
    
  14.     getVersionTags().then(tags => {
    
  15.       let versions = tags.map(tag => tag.name.slice(1));
    
  16.       versions = [`local`, ...versions];
    
  17.       this.setState({versions});
    
  18.     });
    
  19.   }
    
  20. 
    
  21.   onChange = event => {
    
  22.     this.props.onChange(event.target.value);
    
  23.   };
    
  24. 
    
  25.   render() {
    
  26.     const {version, id, name} = this.props;
    
  27.     const {versions} = this.state;
    
  28. 
    
  29.     return (
    
  30.       <select id={id} name={name} value={version} onChange={this.onChange}>
    
  31.         {versions.map(version => (
    
  32.           <option key={version} value={version}>
    
  33.             {version}
    
  34.           </option>
    
  35.         ))}
    
  36.       </select>
    
  37.     );
    
  38.   }
    
  39. }
    
  40. 
    
  41. export default VersionPicker;