mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	UI stuff
This commit is contained in:
		
							parent
							
								
									bd8aecc664
								
							
						
					
					
						commit
						ace938dc23
					
				| @ -5,18 +5,21 @@ | ||||
| //      Meny | ||||
| //      FeatureList | ||||
| //          Feature | ||||
| //              - name | ||||
| //              - status | ||||
| //              - description | ||||
| //            FeatureViewer | ||||
| //              - props | ||||
| //              - button-edit | ||||
| //              - button-delete | ||||
| //              - toggle-status | ||||
| //            FeatureEditor | ||||
| //              - name | ||||
| //              - status | ||||
| //              - description | ||||
| // | ||||
| //  NewFeaturePage | ||||
| //      Meny | ||||
| //      NewFeatureForm | ||||
| 
 | ||||
| var FeatureForm = React.createClass({ | ||||
| var FeatureEditor = React.createClass({ | ||||
| 
 | ||||
|     getInitialState: function () { | ||||
|         return {name: '', description: '', strategy: 'Default'}; | ||||
| @ -84,16 +87,20 @@ var FeatureForm = React.createClass({ | ||||
|                     <div className="control-group"> | ||||
|                         <div className="controls"> | ||||
|                             <input type="submit" value="Save" className="btn btn-success" /> | ||||
|                             <input | ||||
|                                type="button" | ||||
|                                value="Cancel" | ||||
|                                className="btn" | ||||
|                                onClick={this.props.onToggleMode} /> | ||||
|                         </div> | ||||
|                     </div> | ||||
| 
 | ||||
|                 </fieldset> | ||||
|             </form> | ||||
|         ); | ||||
|     } | ||||
| }); | ||||
| 
 | ||||
| var Feature = React.createClass({ | ||||
| var FeatureViewer = React.createClass({ | ||||
|     // TODO: validate props? | ||||
|     handleEnableChange: function(event) { | ||||
|         var feature = this.props.feature; | ||||
| @ -101,7 +108,7 @@ var Feature = React.createClass({ | ||||
|             name: feature.name, | ||||
|             field: 'enabled', | ||||
|             value: event.target.checked | ||||
|             }); | ||||
|         }); | ||||
|     }, | ||||
| 
 | ||||
|     render: function () { | ||||
| @ -144,7 +151,7 @@ var Feature = React.createClass({ | ||||
|                   <div className='mod'> | ||||
|                     <div className='inner'> | ||||
|                        <div className='bd'> | ||||
|                          <button className='pam mtl mll'>Edit</button> | ||||
|                          <button className='pam mtl mll' onClick={this.props.onToggleMode}>Edit</button> | ||||
|                          <button className='pam mtl mll'>Delete</button> | ||||
|                        </div> | ||||
|                     </div> | ||||
| @ -158,6 +165,32 @@ var Feature = React.createClass({ | ||||
|     } | ||||
| }); | ||||
| 
 | ||||
| var Feature = React.createClass({ | ||||
|     getInitialState: function() { | ||||
|         return { mode: 'view' }; | ||||
|     }, | ||||
| 
 | ||||
|     onToggleMode: function() { | ||||
|         if (this.state.mode === 'view') { | ||||
|             this.setState({mode: 'edit'}); | ||||
|         } else if (this.state.mode === 'edit') { | ||||
|             this.setState({mode: 'view'}); | ||||
|         } else { | ||||
|             throw "invalid mode: " + this.state.mode; | ||||
|         } | ||||
|     }, | ||||
| 
 | ||||
|     render: function() { | ||||
|         if (this.state.mode === 'view') { | ||||
|             return (<FeatureViewer feature={this.props.feature} onToggleMode={this.onToggleMode} />); | ||||
|         } else if (this.state.mode === 'edit') { | ||||
|             return (<FeatureEditor feature={this.props.feature} onToggleMode={this.onToggleMode} />); | ||||
|         } else { | ||||
|             throw "invalid mode: " + this.state.mode; | ||||
|         } | ||||
|     } | ||||
| }); | ||||
| 
 | ||||
| var FeatureList = React.createClass({ | ||||
|     getInitialState: function() { | ||||
|         return { | ||||
| @ -199,7 +232,7 @@ var FeatureList = React.createClass({ | ||||
|         }.bind(this)); | ||||
|     }, | ||||
| 
 | ||||
|     createFeature: function (feature, callback) { | ||||
|     createFeature: function (feature) { | ||||
|         reqwest({ | ||||
|             url: 'features', | ||||
|             method: 'post', | ||||
| @ -227,7 +260,6 @@ var FeatureList = React.createClass({ | ||||
|                 </div> | ||||
|                 <div className='panel-body'> | ||||
|                     {featureNodes} | ||||
|                     <FeatureForm onFeatureSubmit={this.createFeature}/> | ||||
|                 </div> | ||||
|             </div> | ||||
|         ); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user