Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import * as React from 'react'
- import { Router, Route, IndexRoute, hashHistory, browserHistory, Link } from 'react-router'
- import {ITask, IStoreAction, ActionType} from '../model/TasksModel'
- import store from '../store/Store'
- interface TaskEditProp {
- task: ITask
- }
- class TaskEdit extends React.Component<TaskEditProp, {}>{
- constructor() {
- super();
- this.state = store.getState()
- store.subscribe(() => {
- this.setState(store.getState())
- })
- //todo: console.log(this.props.location);
- }
- onSave = (e) => {
- e.preventDefault();
- var refs: any = this.refs;
- var task: ITask = {
- index: this.props.task ? this.props.task.index : 0,
- text: refs.text.value,
- done: false
- }
- var storeAction: IStoreAction = {
- type: ActionType.EDIT_TASK,
- task
- }
- store.dispatch(storeAction)
- browserHistory.push('/')
- }
- onCancel = (e) => {
- e.preventDefault();
- browserHistory.push('/')
- }
- render() {
- const { props: { children } } = this;
- return (
- <div className="">
- <h3>Edit Task</h3>
- <form onSubmit={this.onSave}>
- <fieldset className="form-group">
- <label for="task">Task</label>
- <input type="text" ref="text" className="form-control" >{this.props.location}</input>
- </fieldset>
- <div className="btn-group">
- <button className="btn btn-primary" >Save</button>
- <button className="btn btn-warning" onClick={this.onCancel} >Cancel</button>
- </div>
- </form>
- </div>
- )
- }
- }
- export default TaskEdit;
- var Routes = (
- <Router history={browserHistory}>
- <Route path="/" component={Tasks}>
- <IndexRoute component={TaskList} />
- <Route path="/add" component={TaskAdd} />
- <Route path="/edit/:id" component={TaskEdit} />
- </Route>
- <Route path="/about" component={About}/>
- </Router>
- )
- let { id } = this.props.params;
- index: this.props.task ? this.props.task.index : 0,
- index: this.props.params.id ? this.props.params.id : 0,
- Import { withRouter, Switch, Route, NavLink, RouteProps } from 'react-router-dom';
- interface TaskEditProp extends RouteProps {
- task: ITask
- }
Add Comment
Please, Sign In to add comment