attempt to integrate phone editing
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
// Account registration.
|
// Account registration.
|
||||||
import React from 'react';
|
import React, { Suspense } from 'react';
|
||||||
import { FormattedMessage } from 'react-intl';
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
import AvatarCrop from '../widgets/avatar-crop.jsx';
|
import AvatarCrop from '../widgets/avatar-crop.jsx';
|
||||||
@@ -178,11 +178,15 @@ export default class CreateAccountView extends React.PureComponent {
|
|||||||
}</FormattedMessage>
|
}</FormattedMessage>
|
||||||
</div>
|
</div>
|
||||||
<div className="panel-form-row">
|
<div className="panel-form-row">
|
||||||
(<Suspense fallback={<div>Loading...</div>}>
|
<label className="small gray">Mobile phone number:</label>
|
||||||
|
</div>
|
||||||
|
<div className="panel-form-row">
|
||||||
|
<Suspense fallback={<div>Loading...</div>}>
|
||||||
<PhoneEdit
|
<PhoneEdit
|
||||||
|
autoFocus={false}
|
||||||
onShowCountrySelector={(code, dial) => console.log('onShowCountrySelector', code, dial)}
|
onShowCountrySelector={(code, dial) => console.log('onShowCountrySelector', code, dial)}
|
||||||
onSubmit={(code, dial) => console.log('onSubmit', code, dial)} />
|
onSubmit={(code, dial) => console.log('onSubmit', code, dial)} />
|
||||||
</Suspense>)
|
</Suspense>
|
||||||
</div>
|
</div>
|
||||||
<div className="panel-form-row">
|
<div className="panel-form-row">
|
||||||
<CheckBox id="save-token" name="save-token" checked={this.state.saveToken}
|
<CheckBox id="save-token" name="save-token" checked={this.state.saveToken}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ class PhoneEdit extends React.PureComponent {
|
|||||||
|
|
||||||
this.handleChange = this.handleChange.bind(this);
|
this.handleChange = this.handleChange.bind(this);
|
||||||
this.handleFinished = this.handleFinished.bind(this);
|
this.handleFinished = this.handleFinished.bind(this);
|
||||||
this.handleClear = this.handleClear.bind(this);
|
|
||||||
this.handleKeyDown = this.handleKeyDown.bind(this);
|
this.handleKeyDown = this.handleKeyDown.bind(this);
|
||||||
this.showCountrySelector = this.showCountrySelector.bind(this);
|
this.showCountrySelector = this.showCountrySelector.bind(this);
|
||||||
}
|
}
|
||||||
@@ -34,17 +33,10 @@ class PhoneEdit extends React.PureComponent {
|
|||||||
this.props.onSubmit(this.state.localNumber.trim());
|
this.props.onSubmit(this.state.localNumber.trim());
|
||||||
}
|
}
|
||||||
|
|
||||||
handleClear(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
const countryCode = this.props.countryCode || 'US';
|
|
||||||
this.setState({localNumber: '', countryCode: countryCode, dialCode: this.codeMap[countryCode || 'US']});
|
|
||||||
}
|
|
||||||
|
|
||||||
handleKeyDown(e) {
|
handleKeyDown(e) {
|
||||||
if (e.key === 'Enter') {
|
if (e.key === 'Enter') {
|
||||||
this.handleFinished(e);
|
this.handleFinished(e);
|
||||||
} else if (e.key === 'Escape') {
|
|
||||||
this.handleClear(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,17 +56,14 @@ class PhoneEdit extends React.PureComponent {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<div className="panel-form-row">
|
<>
|
||||||
<span className="dial-code" onClick={this.showCountrySelector}>
|
<span className="dial-code" onClick={this.showCountrySelector}>
|
||||||
<span className="country-flag">{flagEmoji(this.state.countryCode)} </span>
|
<span className="country-flag">{flagEmoji(this.state.countryCode)} </span>
|
||||||
+{this.state.dialCode} </span>
|
+{this.state.dialCode} </span>
|
||||||
<input type="tel" placeholder={this.state.placeholder}
|
<input type="tel" placeholder={this.state.placeholder}
|
||||||
value={this.state.localNumber} onChange={this.handleChange}
|
value={this.state.localNumber} onChange={this.handleChange}
|
||||||
maxLength={17} onKeyDown={this.handleKeyDown} required autoFocus={this.props.autoFocus} />
|
maxLength={17} onKeyDown={this.handleKeyDown} required autoFocus={this.props.autoFocus} />
|
||||||
{this.state.localNumber ?
|
</>
|
||||||
<a href="#" onClick={this.handleClear}><i className="material-icons">highlight_off</i></a>
|
|
||||||
: <span><i className="material-icons"> </i></span>}
|
|
||||||
</div>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4308,6 +4308,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const PhoneEdit = react__WEBPACK_IMPORTED_MODULE_0___default().lazy(_ => __webpack_require__.e(/*! import() */ "src_widgets_phone-edit_jsx").then(__webpack_require__.bind(__webpack_require__, /*! ../widgets/phone-edit.jsx */ "./src/widgets/phone-edit.jsx")));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -4522,6 +4523,18 @@ class CreateAccountView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Pu
|
|||||||
required: true
|
required: true
|
||||||
}))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
className: "panel-form-row"
|
className: "panel-form-row"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
|
||||||
|
className: "small gray"
|
||||||
|
}, "Mobile phone number:")), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "panel-form-row"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {
|
||||||
|
fallback: react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, "Loading...")
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PhoneEdit, {
|
||||||
|
autoFocus: false,
|
||||||
|
onShowCountrySelector: (code, dial) => console.log('onShowCountrySelector', code, dial),
|
||||||
|
onSubmit: (code, dial) => console.log('onSubmit', code, dial)
|
||||||
|
}))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "panel-form-row"
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_checkbox_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_checkbox_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
||||||
id: "save-token",
|
id: "save-token",
|
||||||
name: "save-token",
|
name: "save-token",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user