mirror of
				https://github.com/aclindsa/moneygo.git
				synced 2025-10-31 01:43:26 -04:00 
			
		
		
		
	Update everything for latest version of React
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| JS_SOURCES = $(wildcard js/*.js) | JS_SOURCES = $(wildcard js/*.js) $(wildcard js/*/*.js) | ||||||
|  |  | ||||||
| all: static/bundle.js static/react-widgets | all: static/bundle.js static/react-widgets | ||||||
|  |  | ||||||
|   | |||||||
| @@ -13,7 +13,12 @@ var Grid = ReactBootstrap.Grid; | |||||||
| var Row = ReactBootstrap.Row; | var Row = ReactBootstrap.Row; | ||||||
| var Col = ReactBootstrap.Col; | var Col = ReactBootstrap.Col; | ||||||
| var Panel = ReactBootstrap.Panel; | var Panel = ReactBootstrap.Panel; | ||||||
| var Input = ReactBootstrap.Input; | var Form = ReactBootstrap.Form; | ||||||
|  | var FormGroup = ReactBootstrap.FormGroup; | ||||||
|  | var FormControl = ReactBootstrap.FormControl; | ||||||
|  | var InputGroup = ReactBootstrap.InputGroup; | ||||||
|  | var ControlLabel = ReactBootstrap.ControlLabel; | ||||||
|  | var HelpBlock = ReactBootstrap.HelpBlock; | ||||||
| var Button = ReactBootstrap.Button; | var Button = ReactBootstrap.Button; | ||||||
| var ButtonGroup = ReactBootstrap.ButtonGroup; | var ButtonGroup = ReactBootstrap.ButtonGroup; | ||||||
| var ButtonToolbar = ReactBootstrap.ButtonToolbar; | var ButtonToolbar = ReactBootstrap.ButtonToolbar; | ||||||
| @@ -127,7 +132,7 @@ const AmountInput = React.createClass({ | |||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
| 	componentDidMount: function() { | 	componentDidMount: function() { | ||||||
| 		this.refs.amount.getInputDOMNode().onblur = this.onBlur; | 		ReactDOM.findDOMNode(this.refs.amount).onblur = this.onBlur; | ||||||
| 	}, | 	}, | ||||||
| 	onBlur: function() { | 	onBlur: function() { | ||||||
| 		var a; | 		var a; | ||||||
| @@ -140,13 +145,13 @@ const AmountInput = React.createClass({ | |||||||
| 		}); | 		}); | ||||||
| 	}, | 	}, | ||||||
| 	onChange: function() { | 	onChange: function() { | ||||||
| 		this.setState({Amount: this.refs.amount.getValue()}); | 		this.setState({Amount: ReactDOM.findDOMNode(this.refs.amount).value}); | ||||||
| 		if (this.props.onChange) | 		if (this.props.onChange) | ||||||
| 			this.props.onChange(); | 			this.props.onChange(); | ||||||
| 	}, | 	}, | ||||||
| 	getValue: function() { | 	getValue: function() { | ||||||
| 		try { | 		try { | ||||||
| 			var value = this.refs.amount.getValue(); | 			var value = ReactDOM.findDOMNode(this.refs.amount).value; | ||||||
| 			var ret = new Big(value); | 			var ret = new Big(value); | ||||||
| 			this.setState({LastGoodAmount: value}); | 			this.setState({LastGoodAmount: value}); | ||||||
| 			return ret; | 			return ret; | ||||||
| @@ -158,17 +163,17 @@ const AmountInput = React.createClass({ | |||||||
| 		var symbol = "?"; | 		var symbol = "?"; | ||||||
| 		if (this.props.security) | 		if (this.props.security) | ||||||
| 			symbol = this.props.security.Symbol; | 			symbol = this.props.security.Symbol; | ||||||
| 		var bsStyle = undefined; |  | ||||||
| 		if (this.props.bsStyle) |  | ||||||
| 			bsStyle = this.props.bsStyle; |  | ||||||
|  |  | ||||||
| 		return ( | 		return ( | ||||||
| 			<Input type="text" | 			<FormGroup validationState={this.props.validationState}> | ||||||
|  | 				<InputGroup> | ||||||
|  | 					<InputGroup.Addon>{symbol}</InputGroup.Addon> | ||||||
|  | 					<FormControl type="text" | ||||||
| 						value={this.state.Amount} | 						value={this.state.Amount} | ||||||
| 						onChange={this.onChange} | 						onChange={this.onChange} | ||||||
| 				addonBefore={symbol} |  | ||||||
| 				bsStyle={bsStyle} |  | ||||||
| 						ref="amount"/> | 						ref="amount"/> | ||||||
|  | 				</InputGroup> | ||||||
|  | 			</FormGroup> | ||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
| }); | }); | ||||||
| @@ -197,7 +202,7 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 	handleDescriptionChange: function() { | 	handleDescriptionChange: function() { | ||||||
| 		this.setState({ | 		this.setState({ | ||||||
| 			transaction: react_update(this.state.transaction, { | 			transaction: react_update(this.state.transaction, { | ||||||
| 				Description: {$set: this.refs.description.getValue()} | 				Description: {$set: ReactDOM.findDOMNode(this.refs.description).value} | ||||||
| 			}) | 			}) | ||||||
| 		}); | 		}); | ||||||
| 	}, | 	}, | ||||||
| @@ -236,7 +241,7 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 	handleUpdateNumber: function(split) { | 	handleUpdateNumber: function(split) { | ||||||
| 		var transaction = this.state.transaction; | 		var transaction = this.state.transaction; | ||||||
| 		transaction.Splits[split] = react_update(transaction.Splits[split], { | 		transaction.Splits[split] = react_update(transaction.Splits[split], { | ||||||
| 			Number: {$set: this.refs['number-'+split].getValue()} | 			Number: {$set: ReactDOM.findDOMNode(this.refs['number-'+split]).value} | ||||||
| 		}); | 		}); | ||||||
| 		this.setState({ | 		this.setState({ | ||||||
| 			transaction: transaction | 			transaction: transaction | ||||||
| @@ -245,7 +250,7 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 	handleUpdateMemo: function(split) { | 	handleUpdateMemo: function(split) { | ||||||
| 		var transaction = this.state.transaction; | 		var transaction = this.state.transaction; | ||||||
| 		transaction.Splits[split] = react_update(transaction.Splits[split], { | 		transaction.Splits[split] = react_update(transaction.Splits[split], { | ||||||
| 			Memo: {$set: this.refs['memo-'+split].getValue()} | 			Memo: {$set: ReactDOM.findDOMNode(this.refs['memo-'+split]).value} | ||||||
| 		}); | 		}); | ||||||
| 		this.setState({ | 		this.setState({ | ||||||
| 			transaction: transaction | 			transaction: transaction | ||||||
| @@ -363,12 +368,12 @@ const AddEditTransactionModal = React.createClass({ | |||||||
|  |  | ||||||
| 			splits.push(( | 			splits.push(( | ||||||
| 				<Row key={s.SplitId == -1 ? (i+999) : s.SplitId}> | 				<Row key={s.SplitId == -1 ? (i+999) : s.SplitId}> | ||||||
| 				<Col xs={1}><Input | 				<Col xs={1}><FormControl | ||||||
| 					type="text" | 					type="text" | ||||||
| 					value={s.Number} | 					value={s.Number} | ||||||
| 					onChange={updateNumberFn} | 					onChange={updateNumberFn} | ||||||
| 					ref={"number-"+i} /></Col> | 					ref={"number-"+i} /></Col> | ||||||
| 				<Col xs={5}><Input | 				<Col xs={5}><FormControl | ||||||
| 					type="text" | 					type="text" | ||||||
| 					value={s.Memo} | 					value={s.Memo} | ||||||
| 					onChange={updateMemoFn} | 					onChange={updateMemoFn} | ||||||
| @@ -386,7 +391,7 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 					security={security} | 					security={security} | ||||||
| 					onChange={updateAmountFn} | 					onChange={updateAmountFn} | ||||||
| 					ref={"amount-"+i} | 					ref={"amount-"+i} | ||||||
| 					bsStyle={amountValidation}/></Col> | 					validationState={amountValidation}/></Col> | ||||||
| 				{deleteSplitButton} | 				{deleteSplitButton} | ||||||
| 				</Row> | 				</Row> | ||||||
| 			)); | 			)); | ||||||
| @@ -398,28 +403,29 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 					<Modal.Title>{headerText} Transaction</Modal.Title> | 					<Modal.Title>{headerText} Transaction</Modal.Title> | ||||||
| 				</Modal.Header> | 				</Modal.Header> | ||||||
| 				<Modal.Body> | 				<Modal.Body> | ||||||
| 				<form onSubmit={this.handleSubmit} | 				<Form horizontal | ||||||
| 						className="form-horizontal"> | 						onSubmit={this.handleSubmit}> | ||||||
| 					<Input wrapperClassName="wrapper" | 					<FormGroup> | ||||||
| 						label="Date" | 						<Col componentClass={ControlLabel} xs={2}>Date</Col> | ||||||
| 						labelClassName="col-xs-2" | 						<Col xs={10}> | ||||||
| 						wrapperClassName="col-xs-10"> |  | ||||||
| 						<DateTimePicker | 						<DateTimePicker | ||||||
| 							time={false} | 							time={false} | ||||||
| 							defaultValue={this.state.transaction.Date} | 							defaultValue={this.state.transaction.Date} | ||||||
| 							onChange={this.handleDateChange} /> | 							onChange={this.handleDateChange} /> | ||||||
| 					</Input> | 						</Col> | ||||||
| 					<Input type="text" | 					</FormGroup> | ||||||
| 						label="Description" | 					<FormGroup> | ||||||
|  | 						<Col componentClass={ControlLabel} xs={2}>Description</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="text" | ||||||
| 							value={this.state.transaction.Description} | 							value={this.state.transaction.Description} | ||||||
| 							onChange={this.handleDescriptionChange} | 							onChange={this.handleDescriptionChange} | ||||||
| 						ref="description" | 							ref="description"/> | ||||||
| 						labelClassName="col-xs-2" | 						</Col> | ||||||
| 						wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input wrapperClassName="wrapper" | 					<FormGroup> | ||||||
| 						label="Status" | 						<Col componentClass={ControlLabel} xs={2}>Status</Col> | ||||||
| 						labelClassName="col-xs-2" | 						<Col xs={10}> | ||||||
| 						wrapperClassName="col-xs-10"> |  | ||||||
| 						<Combobox | 						<Combobox | ||||||
| 							data={TransactionStatusList} | 							data={TransactionStatusList} | ||||||
| 							valueField='StatusId' | 							valueField='StatusId' | ||||||
| @@ -427,7 +433,9 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 							defaultValue={this.state.transaction.Status} | 							defaultValue={this.state.transaction.Status} | ||||||
| 							onSelect={this.handleStatusChange} | 							onSelect={this.handleStatusChange} | ||||||
| 							ref="status" /> | 							ref="status" /> | ||||||
| 					</Input> | 						</Col> | ||||||
|  | 					</FormGroup> | ||||||
|  |  | ||||||
| 					<Grid fluid={true}><Row> | 					<Grid fluid={true}><Row> | ||||||
| 					<span className="split-header col-xs-1">#</span> | 					<span className="split-header col-xs-1">#</span> | ||||||
| 					<span className="split-header col-xs-5">Memo</span> | 					<span className="split-header col-xs-5">Memo</span> | ||||||
| @@ -443,7 +451,7 @@ const AddEditTransactionModal = React.createClass({ | |||||||
| 					</Row> | 					</Row> | ||||||
| 					<Row>{this.state.errorAlert}</Row> | 					<Row>{this.state.errorAlert}</Row> | ||||||
| 					</Grid> | 					</Grid> | ||||||
| 				</form> | 				</Form> | ||||||
| 				</Modal.Body> | 				</Modal.Body> | ||||||
| 				<Modal.Footer> | 				<Modal.Footer> | ||||||
| 					<ButtonGroup> | 					<ButtonGroup> | ||||||
| @@ -485,7 +493,7 @@ const ImportTransactionsModal = React.createClass({ | |||||||
| 			this.props.onCancel(); | 			this.props.onCancel(); | ||||||
| 	}, | 	}, | ||||||
| 	handleImportChange: function() { | 	handleImportChange: function() { | ||||||
| 		this.setState({importFile: this.refs.importfile.getValue()}); | 		this.setState({importFile: ReactDOM.findDOMNode(this.refs.importfile).value}); | ||||||
| 	}, | 	}, | ||||||
| 	handleTypeChange: function(type) { | 	handleTypeChange: function(type) { | ||||||
| 		this.setState({importType: type.TypeId}); | 		this.setState({importType: type.TypeId}); | ||||||
| @@ -612,13 +620,15 @@ const ImportTransactionsModal = React.createClass({ | |||||||
| 						defaultValue={this.state.importType} | 						defaultValue={this.state.importType} | ||||||
| 						disabled={disabledTypes} | 						disabled={disabledTypes} | ||||||
| 						ref="importtype" /> | 						ref="importtype" /> | ||||||
| 					<Input type="file" | 					<FormGroup> | ||||||
|  | 						<ControlLabel>{accountNameLabel}</ControlLabel> | ||||||
|  | 						<FormControl type="file" | ||||||
| 							ref="importfile" | 							ref="importfile" | ||||||
| 							disabled={inputDisabled} | 							disabled={inputDisabled} | ||||||
| 							value={this.state.importFile} | 							value={this.state.importFile} | ||||||
| 							label={accountNameLabel} |  | ||||||
| 							help="Select an OFX/QFX file to upload." |  | ||||||
| 							onChange={this.handleImportChange} /> | 							onChange={this.handleImportChange} /> | ||||||
|  | 						<HelpBlock>Select an OFX/QFX file to upload.</HelpBlock> | ||||||
|  | 					</FormGroup> | ||||||
| 				</form> | 				</form> | ||||||
| 				{progressBar} | 				{progressBar} | ||||||
| 				{panel} | 				{panel} | ||||||
| @@ -918,7 +928,7 @@ module.exports = React.createClass({ | |||||||
| 					<ButtonGroup> | 					<ButtonGroup> | ||||||
| 					<Pagination | 					<Pagination | ||||||
| 						className="skinny-pagination" | 						className="skinny-pagination" | ||||||
| 						prev next first last ellipses | 						prev next first last ellipsis | ||||||
| 						items={this.state.numPages} | 						items={this.state.numPages} | ||||||
| 						maxButtons={Math.min(5, this.state.numPages)} | 						maxButtons={Math.min(5, this.state.numPages)} | ||||||
| 						activePage={this.state.currentPage+1} | 						activePage={this.state.currentPage+1} | ||||||
|   | |||||||
| @@ -1,10 +1,16 @@ | |||||||
| var React = require('react'); | var React = require('react'); | ||||||
|  |  | ||||||
|  | var ReactDOM = require('react-dom'); | ||||||
|  |  | ||||||
| var ReactBootstrap = require('react-bootstrap'); | var ReactBootstrap = require('react-bootstrap'); | ||||||
| var Modal = ReactBootstrap.Modal; | var Modal = ReactBootstrap.Modal; | ||||||
| var Button = ReactBootstrap.Button; | var Button = ReactBootstrap.Button; | ||||||
| var ButtonGroup = ReactBootstrap.ButtonGroup; | var ButtonGroup = ReactBootstrap.ButtonGroup; | ||||||
| var Input = ReactBootstrap.Input; | var Form = ReactBootstrap.Form; | ||||||
|  | var FormGroup = ReactBootstrap.FormGroup; | ||||||
|  | var FormControl = ReactBootstrap.FormControl; | ||||||
|  | var ControlLabel = ReactBootstrap.ControlLabel; | ||||||
|  | var Col = ReactBootstrap.Col; | ||||||
|  |  | ||||||
| var models = require('./models.js'); | var models = require('./models.js'); | ||||||
| var User = models.User; | var User = models.User; | ||||||
| @@ -53,14 +59,14 @@ module.exports = React.createClass({ | |||||||
| 			this.props.onCancel(); | 			this.props.onCancel(); | ||||||
| 	}, | 	}, | ||||||
| 	handleChange: function() { | 	handleChange: function() { | ||||||
| 		if (this.refs.password.getValue() != this.state.initial_password) | 		if (ReactDOM.findDOMNode(this.refs.password).value != this.state.initial_password) | ||||||
| 			this.setState({passwordChanged: true}); | 			this.setState({passwordChanged: true}); | ||||||
| 		this.setState({ | 		this.setState({ | ||||||
| 			name: this.refs.name.getValue(), | 			name: ReactDOM.findDOMNode(this.refs.name).value, | ||||||
| 			username: this.refs.username.getValue(), | 			username: ReactDOM.findDOMNode(this.refs.username).value, | ||||||
| 			email: this.refs.email.getValue(), | 			email: ReactDOM.findDOMNode(this.refs.email).value, | ||||||
| 			password: this.refs.password.getValue(), | 			password: ReactDOM.findDOMNode(this.refs.password).value, | ||||||
| 			confirm_password: this.refs.confirm_password.getValue() | 			confirm_password: ReactDOM.findDOMNode(this.refs.confirm_password).value | ||||||
| 		}); | 		}); | ||||||
| 	}, | 	}, | ||||||
| 	handleSubmit: function(e) { | 	handleSubmit: function(e) { | ||||||
| @@ -116,48 +122,55 @@ module.exports = React.createClass({ | |||||||
| 				</Modal.Header> | 				</Modal.Header> | ||||||
| 				<Modal.Body> | 				<Modal.Body> | ||||||
| 				<span color="red">{this.state.error}</span> | 				<span color="red">{this.state.error}</span> | ||||||
| 				<form onSubmit={this.handleSubmit} | 				<Form horizontal onSubmit={this.handleSubmit}> | ||||||
| 						className="form-horizontal"> | 					<FormGroup> | ||||||
| 					<Input type="text" | 						<Col componentClass={ControlLabel} xs={2}>Name</Col> | ||||||
| 							label="Name" | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="text" | ||||||
| 								value={this.state.name} | 								value={this.state.name} | ||||||
| 								onChange={this.handleChange} | 								onChange={this.handleChange} | ||||||
| 							ref="name" | 								ref="name"/> | ||||||
| 							labelClassName="col-xs-2" | 						</Col> | ||||||
| 							wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input type="text" | 					<FormGroup> | ||||||
| 							label="Username" | 						<Col componentClass={ControlLabel} xs={2}>Username</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="text" | ||||||
| 							value={this.state.username} | 							value={this.state.username} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="username" | 							ref="username"/> | ||||||
| 							labelClassName="col-xs-2" | 						</Col> | ||||||
| 							wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input type="email" | 					<FormGroup> | ||||||
| 							label="Email" | 						<Col componentClass={ControlLabel} xs={2}>Email</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="email" | ||||||
| 							value={this.state.email} | 							value={this.state.email} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="email" | 							ref="email"/> | ||||||
| 							labelClassName="col-xs-2" | 						</Col> | ||||||
| 							wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input type="password" | 					<FormGroup validationState={this.passwordValidationState()}> | ||||||
| 							label="Password" | 						<Col componentClass={ControlLabel} xs={2}>Password</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="password" | ||||||
| 							value={this.state.password} | 							value={this.state.password} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="password" | 							ref="password"/> | ||||||
| 							labelClassName="col-xs-2" | 						<FormControl.Feedback/> | ||||||
| 							wrapperClassName="col-xs-10" | 						</Col> | ||||||
| 							bsStyle={this.passwordValidationState()} | 					</FormGroup> | ||||||
| 							hasFeedback/> | 					<FormGroup validationState={this.confirmPasswordValidationState()}> | ||||||
| 					<Input type="password" | 						<Col componentClass={ControlLabel} xs={2}>Confirm Password</Col> | ||||||
| 							label="Confirm Password" | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="password" | ||||||
| 							value={this.state.confirm_password} | 							value={this.state.confirm_password} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="confirm_password" | 							ref="confirm_password"/> | ||||||
| 							labelClassName="col-xs-2" | 						<FormControl.Feedback/> | ||||||
| 							wrapperClassName="col-xs-10" | 						</Col> | ||||||
| 							bsStyle={this.confirmPasswordValidationState()} | 					</FormGroup> | ||||||
| 							hasFeedback/> | 				</Form> | ||||||
| 				</form> |  | ||||||
| 				</Modal.Body> | 				</Modal.Body> | ||||||
| 				<Modal.Footer> | 				<Modal.Footer> | ||||||
| 					<ButtonGroup> | 					<ButtonGroup> | ||||||
|   | |||||||
| @@ -5,7 +5,10 @@ var ReactBootstrap = require('react-bootstrap'); | |||||||
| var Grid = ReactBootstrap.Grid; | var Grid = ReactBootstrap.Grid; | ||||||
| var Row = ReactBootstrap.Row; | var Row = ReactBootstrap.Row; | ||||||
| var Col = ReactBootstrap.Col; | var Col = ReactBootstrap.Col; | ||||||
| var Input = ReactBootstrap.Input; | var Form = ReactBootstrap.Form; | ||||||
|  | var FormGroup = ReactBootstrap.FormGroup; | ||||||
|  | var FormControl = ReactBootstrap.FormControl; | ||||||
|  | var ControlLabel = ReactBootstrap.ControlLabel; | ||||||
| var Button = ReactBootstrap.Button; | var Button = ReactBootstrap.Button; | ||||||
| var ButtonGroup = ReactBootstrap.ButtonGroup; | var ButtonGroup = ReactBootstrap.ButtonGroup; | ||||||
| var Glyphicon = ReactBootstrap.Glyphicon; | var Glyphicon = ReactBootstrap.Glyphicon; | ||||||
| @@ -54,7 +57,7 @@ const AddEditAccountModal = React.createClass({ | |||||||
| 	}, | 	}, | ||||||
| 	handleChange: function() { | 	handleChange: function() { | ||||||
| 		this.setState({ | 		this.setState({ | ||||||
| 			name: this.refs.name.getValue(), | 			name: ReactDOM.findDOMNode(this.refs.name).value, | ||||||
| 		}); | 		}); | ||||||
| 	}, | 	}, | ||||||
| 	handleSecurityChange: function(security) { | 	handleSecurityChange: function(security) { | ||||||
| @@ -100,19 +103,19 @@ const AddEditAccountModal = React.createClass({ | |||||||
| 					<Modal.Title>{headerText} Account</Modal.Title> | 					<Modal.Title>{headerText} Account</Modal.Title> | ||||||
| 				</Modal.Header> | 				</Modal.Header> | ||||||
| 				<Modal.Body> | 				<Modal.Body> | ||||||
| 				<form onSubmit={this.handleSubmit} | 				<Form horizontal onSubmit={this.handleSubmit}> | ||||||
| 						className="form-horizontal"> | 					<FormGroup> | ||||||
| 					<Input type="text" | 						<Col componentClass={ControlLabel} xs={2}>Name</Col> | ||||||
| 						label="Name" | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="text" | ||||||
| 							value={this.state.name} | 							value={this.state.name} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 						ref="name" | 							ref="name"/> | ||||||
| 						labelClassName="col-xs-2" | 						</Col> | ||||||
| 						wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input wrapperClassName="wrapper" | 					<FormGroup> | ||||||
| 						label="Parent Account" | 						<Col componentClass={ControlLabel} xs={2}>Parent Account</Col> | ||||||
| 						labelClassName="col-xs-2" | 						<Col xs={10}> | ||||||
| 						wrapperClassName="col-xs-10"> |  | ||||||
| 						<AccountCombobox | 						<AccountCombobox | ||||||
| 							accounts={this.props.accounts} | 							accounts={this.props.accounts} | ||||||
| 							account_map={this.props.account_map} | 							account_map={this.props.account_map} | ||||||
| @@ -120,11 +123,11 @@ const AddEditAccountModal = React.createClass({ | |||||||
| 							rootName={rootName} | 							rootName={rootName} | ||||||
| 							onChange={this.handleParentChange} | 							onChange={this.handleParentChange} | ||||||
| 							ref="parent" /> | 							ref="parent" /> | ||||||
| 					</Input> | 						</Col> | ||||||
| 					<Input wrapperClassName="wrapper" | 					</FormGroup> | ||||||
| 						label="Security" | 					<FormGroup> | ||||||
| 						labelClassName="col-xs-2" | 						<Col componentClass={ControlLabel} xs={2}>Security</Col> | ||||||
| 						wrapperClassName="col-xs-10"> | 						<Col xs={10}> | ||||||
| 						<Combobox | 						<Combobox | ||||||
| 							data={this.props.securities} | 							data={this.props.securities} | ||||||
| 							valueField='SecurityId' | 							valueField='SecurityId' | ||||||
| @@ -132,11 +135,11 @@ const AddEditAccountModal = React.createClass({ | |||||||
| 							defaultValue={this.state.security} | 							defaultValue={this.state.security} | ||||||
| 							onChange={this.handleSecurityChange} | 							onChange={this.handleSecurityChange} | ||||||
| 							ref="security" /> | 							ref="security" /> | ||||||
| 					</Input> | 						</Col> | ||||||
| 					<Input wrapperClassName="wrapper" | 					</FormGroup> | ||||||
| 						label="Account Type" | 					<FormGroup> | ||||||
| 						labelClassName="col-xs-2" | 						<Col componentClass={ControlLabel} xs={2}>Account Type</Col> | ||||||
| 						wrapperClassName="col-xs-10"> | 						<Col xs={10}> | ||||||
| 						<Combobox | 						<Combobox | ||||||
| 							data={AccountTypeList} | 							data={AccountTypeList} | ||||||
| 							valueField='TypeId' | 							valueField='TypeId' | ||||||
| @@ -144,8 +147,9 @@ const AddEditAccountModal = React.createClass({ | |||||||
| 							defaultValue={this.state.type} | 							defaultValue={this.state.type} | ||||||
| 							onChange={this.handleTypeChange} | 							onChange={this.handleTypeChange} | ||||||
| 							ref="type" /> | 							ref="type" /> | ||||||
| 					</Input> | 						</Col> | ||||||
| 				</form> | 					</FormGroup> | ||||||
|  | 				</Form> | ||||||
| 				</Modal.Body> | 				</Modal.Body> | ||||||
| 				<Modal.Footer> | 				<Modal.Footer> | ||||||
| 					<ButtonGroup className="pull-right"> | 					<ButtonGroup className="pull-right"> | ||||||
| @@ -208,12 +212,13 @@ const DeleteAccountModal = React.createClass({ | |||||||
| 				parentAccount = "and any child accounts will be re-parented to: " + this.props.account_map[parentAccountId].Name; | 				parentAccount = "and any child accounts will be re-parented to: " + this.props.account_map[parentAccountId].Name; | ||||||
|  |  | ||||||
| 			var warningString = "I understand that deleting this account cannot be undone and that all transactions " + parentAccount; | 			var warningString = "I understand that deleting this account cannot be undone and that all transactions " + parentAccount; | ||||||
| 			checkbox = (<Input | 			checkbox = (<FormGroup> | ||||||
|  | 				<FormControl | ||||||
| 					type='checkbox' | 					type='checkbox' | ||||||
| 					checked={this.state.checked ? "checked" : ""} | 					checked={this.state.checked ? "checked" : ""} | ||||||
| 				onClick={this.handleCheckboxClick} | 					onClick={this.handleCheckboxClick}/> | ||||||
| 				label={warningString} | 				<ControlLabel>{warningString}</ControlLabel> | ||||||
| 				wrapperClassName="col-xs-offset-2 col-xs-10"/>); | 				</FormGroup>); | ||||||
| 		} | 		} | ||||||
| 		var warning = []; | 		var warning = []; | ||||||
| 		if (this.state.error.length != "") { | 		if (this.state.error.length != "") { | ||||||
| @@ -232,21 +237,18 @@ const DeleteAccountModal = React.createClass({ | |||||||
| 				</Modal.Header> | 				</Modal.Header> | ||||||
| 				<Modal.Body> | 				<Modal.Body> | ||||||
| 				{warning} | 				{warning} | ||||||
| 				<form onSubmit={this.handleSubmit} | 				<Form horizontal onSubmit={this.handleSubmit}> | ||||||
| 						className="form-horizontal"> | 					<FormGroup> | ||||||
| 					<Input wrapperClassName="wrapper" | 					<ControlLabel>Delete Account</ControlLabel> | ||||||
| 						label="Delete Account" |  | ||||||
| 						labelClassName="col-xs-2" |  | ||||||
| 						wrapperClassName="col-xs-10"> |  | ||||||
| 					<AccountCombobox | 					<AccountCombobox | ||||||
| 						includeRoot={false} | 						includeRoot={false} | ||||||
| 						accounts={this.props.accounts} | 						accounts={this.props.accounts} | ||||||
| 						account_map={this.props.account_map} | 						account_map={this.props.account_map} | ||||||
| 						value={this.state.accountid} | 						value={this.state.accountid} | ||||||
| 						onChange={this.handleChange}/> | 						onChange={this.handleChange}/> | ||||||
| 					</Input> |  | ||||||
| 					{checkbox} | 					{checkbox} | ||||||
| 				</form> | 					</FormGroup> | ||||||
|  | 				</Form> | ||||||
| 				</Modal.Body> | 				</Modal.Body> | ||||||
| 				<Modal.Footer> | 				<Modal.Footer> | ||||||
| 					<ButtonGroup className="pull-right"> | 					<ButtonGroup className="pull-right"> | ||||||
|   | |||||||
| @@ -1,9 +1,15 @@ | |||||||
| var React = require('react'); | var React = require('react'); | ||||||
|  | var ReactDOM = require('react-dom'); | ||||||
|  |  | ||||||
| var Panel = require('react-bootstrap').Panel; | var ReactBootstrap = require('react-bootstrap'); | ||||||
| var Input = require('react-bootstrap').Input; | var Panel = ReactBootstrap.Panel; | ||||||
| var Button = require('react-bootstrap').Button; | var Form = ReactBootstrap.Form; | ||||||
| var ButtonGroup = require('react-bootstrap').ButtonGroup; | var FormGroup = ReactBootstrap.FormGroup; | ||||||
|  | var FormControl = ReactBootstrap.FormControl; | ||||||
|  | var ControlLabel = ReactBootstrap.ControlLabel; | ||||||
|  | var Col = ReactBootstrap.Col; | ||||||
|  | var Button = ReactBootstrap.Button; | ||||||
|  | var ButtonGroup = ReactBootstrap.ButtonGroup; | ||||||
|  |  | ||||||
| var models = require('./models.js'); | var models = require('./models.js'); | ||||||
| var User = models.User; | var User = models.User; | ||||||
| @@ -43,14 +49,14 @@ module.exports = React.createClass({ | |||||||
| 			this.props.onCancel(); | 			this.props.onCancel(); | ||||||
| 	}, | 	}, | ||||||
| 	handleChange: function() { | 	handleChange: function() { | ||||||
| 		if (this.refs.password.getValue() != this.state.initial_password) | 		if (ReactDOM.findDOMNode(this.refs.password).value != this.state.initial_password) | ||||||
| 			this.setState({passwordChanged: true}); | 			this.setState({passwordChanged: true}); | ||||||
| 		this.setState({ | 		this.setState({ | ||||||
| 			name: this.refs.name.getValue(), | 			name: ReactDOM.findDOMNode(this.refs.name).value, | ||||||
| 			username: this.refs.username.getValue(), | 			username: ReactDOM.findDOMNode(this.refs.username).value, | ||||||
| 			email: this.refs.email.getValue(), | 			email: ReactDOM.findDOMNode(this.refs.email).value, | ||||||
| 			password: this.refs.password.getValue(), | 			password: ReactDOM.findDOMNode(this.refs.password).value, | ||||||
| 			confirm_password: this.refs.confirm_password.getValue() | 			confirm_password: ReactDOM.findDOMNode(this.refs.confirm_password).value | ||||||
| 		}); | 		}); | ||||||
| 	}, | 	}, | ||||||
| 	handleSubmit: function(e) { | 	handleSubmit: function(e) { | ||||||
| @@ -97,54 +103,62 @@ module.exports = React.createClass({ | |||||||
| 		return ( | 		return ( | ||||||
| 			<Panel header={title} bsStyle="info"> | 			<Panel header={title} bsStyle="info"> | ||||||
| 				<span color="red">{this.state.error}</span> | 				<span color="red">{this.state.error}</span> | ||||||
| 				<form onSubmit={this.handleSubmit} | 				<Form horizontal onSubmit={this.handleSubmit}> | ||||||
| 						className="form-horizontal"> | 					<FormGroup> | ||||||
| 					<Input type="text" | 						<Col componentClass={ControlLabel} xs={2}>Name</Col> | ||||||
| 							label="Name" | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="text" | ||||||
| 							value={this.state.name} | 							value={this.state.name} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="name" | 							ref="name"/> | ||||||
| 							labelClassName="col-xs-2" | 						</Col> | ||||||
| 							wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input type="text" | 					<FormGroup> | ||||||
| 							label="Username" | 						<Col componentClass={ControlLabel} xs={2}>Username</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="text" | ||||||
| 							value={this.state.username} | 							value={this.state.username} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="username" | 							ref="username"/> | ||||||
| 							labelClassName="col-xs-2" | 						</Col> | ||||||
| 							wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input type="email" | 					<FormGroup> | ||||||
| 							label="Email" | 						<Col componentClass={ControlLabel} xs={2}>Email</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="email" | ||||||
| 							value={this.state.email} | 							value={this.state.email} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="email" | 							ref="email"/> | ||||||
| 							labelClassName="col-xs-2" | 						</Col> | ||||||
| 							wrapperClassName="col-xs-10"/> | 					</FormGroup> | ||||||
| 					<Input type="password" | 					<FormGroup validationState={this.passwordValidationState()}> | ||||||
| 							label="Password" | 						<Col componentClass={ControlLabel} xs={2}>Password</Col> | ||||||
|  | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="password" | ||||||
| 							value={this.state.password} | 							value={this.state.password} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="password" | 							ref="password"/> | ||||||
| 							labelClassName="col-xs-2" | 						<FormControl.Feedback/> | ||||||
| 							wrapperClassName="col-xs-10" | 						</Col> | ||||||
| 							bsStyle={this.passwordValidationState()} | 					</FormGroup> | ||||||
| 							hasFeedback/> | 					<FormGroup validationState={this.confirmPasswordValidationState()}> | ||||||
| 					<Input type="password" | 						<Col componentClass={ControlLabel} xs={2}>Confirm Password</Col> | ||||||
| 							label="Confirm Password" | 						<Col xs={10}> | ||||||
|  | 						<FormControl type="password" | ||||||
| 							value={this.state.confirm_password} | 							value={this.state.confirm_password} | ||||||
| 							onChange={this.handleChange} | 							onChange={this.handleChange} | ||||||
| 							ref="confirm_password" | 							ref="confirm_password"/> | ||||||
| 							labelClassName="col-xs-2" | 						<FormControl.Feedback/> | ||||||
| 							wrapperClassName="col-xs-10" | 						</Col> | ||||||
| 							bsStyle={this.confirmPasswordValidationState()} | 					</FormGroup> | ||||||
| 							hasFeedback/> |  | ||||||
| 					<ButtonGroup className="pull-right"> | 					<ButtonGroup className="pull-right"> | ||||||
| 						<Button onClick={this.handleCancel} | 						<Button onClick={this.handleCancel} | ||||||
| 								bsStyle="warning">Cancel</Button> | 								bsStyle="warning">Cancel</Button> | ||||||
| 						<Button type="submit" | 						<Button type="submit" | ||||||
| 								bsStyle="success">Create New User</Button> | 								bsStyle="success">Create New User</Button> | ||||||
| 					</ButtonGroup> | 					</ButtonGroup> | ||||||
| 				</form> | 				</Form> | ||||||
| 			</Panel> | 			</Panel> | ||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										29
									
								
								js/TopBar.js
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								js/TopBar.js
									
									
									
									
									
								
							| @@ -2,13 +2,16 @@ var React = require('react'); | |||||||
|  |  | ||||||
| var ReactBootstrap = require('react-bootstrap'); | var ReactBootstrap = require('react-bootstrap'); | ||||||
| var Alert = ReactBootstrap.Alert; | var Alert = ReactBootstrap.Alert; | ||||||
| var Input = ReactBootstrap.Input; | var FormGroup = ReactBootstrap.FormGroup; | ||||||
|  | var FormControl = ReactBootstrap.FormControl; | ||||||
| var Button = ReactBootstrap.Button; | var Button = ReactBootstrap.Button; | ||||||
| var DropdownButton = ReactBootstrap.DropdownButton; | var DropdownButton = ReactBootstrap.DropdownButton; | ||||||
| var MenuItem = ReactBootstrap.MenuItem; | var MenuItem = ReactBootstrap.MenuItem; | ||||||
| var Row = ReactBootstrap.Row; | var Row = ReactBootstrap.Row; | ||||||
| var Col = ReactBootstrap.Col; | var Col = ReactBootstrap.Col; | ||||||
|  |  | ||||||
|  | var ReactDOM = require('react-dom'); | ||||||
|  |  | ||||||
| var User = require('./models.js').User; | var User = require('./models.js').User; | ||||||
|  |  | ||||||
| const LoginBar = React.createClass({ | const LoginBar = React.createClass({ | ||||||
| @@ -24,8 +27,8 @@ const LoginBar = React.createClass({ | |||||||
| 	handleSubmit: function(e) { | 	handleSubmit: function(e) { | ||||||
| 		var user = new User(); | 		var user = new User(); | ||||||
| 		e.preventDefault(); | 		e.preventDefault(); | ||||||
| 		user.Username = this.refs.username.getValue(); | 		user.Username = ReactDOM.findDOMNode(this.refs.username).value; | ||||||
| 		user.Password = this.refs.password.getValue(); | 		user.Password = ReactDOM.findDOMNode(this.refs.password).value; | ||||||
| 		this.props.onLoginSubmit(user); | 		this.props.onLoginSubmit(user); | ||||||
| 	}, | 	}, | ||||||
| 	handleNewUserSubmit: function(e) { | 	handleNewUserSubmit: function(e) { | ||||||
| @@ -35,7 +38,7 @@ const LoginBar = React.createClass({ | |||||||
| 	render: function() { | 	render: function() { | ||||||
| 		return ( | 		return ( | ||||||
| 			<form onSubmit={this.handleSubmit}> | 			<form onSubmit={this.handleSubmit}> | ||||||
| 			<Input wrapperClassName="wrapper"> | 			<FormGroup> | ||||||
| 				<Row> | 				<Row> | ||||||
| 					<Col xs={4}></Col> | 					<Col xs={4}></Col> | ||||||
| 					<Col xs={2}> | 					<Col xs={2}> | ||||||
| @@ -43,28 +46,28 @@ const LoginBar = React.createClass({ | |||||||
| 							onClick={this.handleNewUserSubmit}>Create New User</Button> | 							onClick={this.handleNewUserSubmit}>Create New User</Button> | ||||||
| 					</Col> | 					</Col> | ||||||
| 					<Col xs={2}> | 					<Col xs={2}> | ||||||
| 						<Input type="text" | 						<FormControl type="text" | ||||||
| 							placeholder="Username..." | 							placeholder="Username..." | ||||||
| 							ref="username"/> | 							ref="username"/> | ||||||
| 					</Col> | 					</Col> | ||||||
| 					<Col xs={2}> | 					<Col xs={2}> | ||||||
| 						<Input type="password" | 						<FormControl type="password" | ||||||
| 							placeholder="Password..." | 							placeholder="Password..." | ||||||
| 							ref="password" block/> | 							ref="password"/> | ||||||
| 					</Col> | 					</Col> | ||||||
| 					<Col xs={2}> | 					<Col xs={2}> | ||||||
| 						<Button type="submit" bsStyle="primary" block> | 						<Button type="submit" bsStyle="primary" block> | ||||||
| 							Login</Button> | 							Login</Button> | ||||||
| 					</Col> | 					</Col> | ||||||
| 				</Row> | 				</Row> | ||||||
| 			</Input> | 			</FormGroup> | ||||||
| 			</form> | 			</form> | ||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
| }); | }); | ||||||
|  |  | ||||||
| const LogoutBar = React.createClass({ | const LogoutBar = React.createClass({ | ||||||
| 	handleOnSelect: function(e, key) { | 	handleOnSelect: function(key) { | ||||||
| 		if (key == 1) { | 		if (key == 1) { | ||||||
| 			if (this.props.onAccountSettings != null) | 			if (this.props.onAccountSettings != null) | ||||||
| 				this.props.onAccountSettings(); | 				this.props.onAccountSettings(); | ||||||
| @@ -75,20 +78,20 @@ const LogoutBar = React.createClass({ | |||||||
| 	render: function() { | 	render: function() { | ||||||
| 		var signedInString = "Signed in as "+this.props.user.Name; | 		var signedInString = "Signed in as "+this.props.user.Name; | ||||||
| 		return ( | 		return ( | ||||||
| 			<Input wrapperClassName="wrapper"> | 			<FormGroup> | ||||||
| 				<Row> | 				<Row> | ||||||
| 					<Col xs={2}><label className="control-label pull-left">Money<i>Go</i></label></Col> | 					<Col xs={2}><label className="control-label pull-left">Money<i>Go</i></label></Col> | ||||||
| 					<Col xs={6}></Col> | 					<Col xs={6}></Col> | ||||||
| 					<Col xs={4}> | 					<Col xs={4}> | ||||||
| 						<div className="pull-right"> | 						<div className="pull-right"> | ||||||
| 						<DropdownButton id="logout-settings-dropdown" title={signedInString} onSelect={this.handleOnSelect} bsStyle="info"> | 						<DropdownButton id="logout-settings-dropdown" title={signedInString} onSelect={this.handleOnSelect} bsStyle="info"> | ||||||
| 							<MenuItem eventKey="1">Account Settings</MenuItem> | 							<MenuItem eventKey={1}>Account Settings</MenuItem> | ||||||
| 							<MenuItem eventKey="2">Logout</MenuItem> | 							<MenuItem eventKey={2}>Logout</MenuItem> | ||||||
| 						</DropdownButton> | 						</DropdownButton> | ||||||
| 						</div> | 						</div> | ||||||
| 					</Col> | 					</Col> | ||||||
| 				</Row> | 				</Row> | ||||||
| 			</Input> | 			</FormGroup> | ||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
| }); | }); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user