aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/Inputs.js
diff options
context:
space:
mode:
authorjackyzha0 <[email protected]>2020-05-26 21:35:53 -0700
committerjackyzha0 <[email protected]>2020-05-26 21:35:53 -0700
commitf3c29ce39cf57d2517a95f79fffea81462293543 (patch)
tree4312f67f801a7628dd6c021e5ca3e4e01300a39e /frontend/src/components/Inputs.js
parentMerge pull request #35 from jackyzha0/fixing-html (diff)
downloadctrl-v-f3c29ce39cf57d2517a95f79fffea81462293543.tar.xz
ctrl-v-f3c29ce39cf57d2517a95f79fffea81462293543.zip
add tab support
Diffstat (limited to 'frontend/src/components/Inputs.js')
-rw-r--r--frontend/src/components/Inputs.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/frontend/src/components/Inputs.js b/frontend/src/components/Inputs.js
index 872afd7..08cf3fc 100644
--- a/frontend/src/components/Inputs.js
+++ b/frontend/src/components/Inputs.js
@@ -43,6 +43,31 @@ class TitleInput extends React.Component {
}
class PasteInput extends React.Component {
+
+ constructor(props) {
+ super(props)
+
+ this.textArea = React.createRef()
+ this.handleKeyDown = this.handleKeyDown.bind(this)
+ }
+
+ handleKeyDown(e) {
+ if (e.keyCode === 9) { // tab was pressed
+
+ // prevent autofocus on next intput
+ e.preventDefault();
+
+ // get selection start and end
+ const start = e.target.selectionStart
+ const end = e.target.selectionEnd
+
+ this.props.insertTabCallback(start, end)
+
+ // set cursor position to be at start
+ e.target.selectionEnd = end + 4;
+ }
+ }
+
render() {
return (
<RelPositioning>
@@ -58,6 +83,7 @@ class PasteInput extends React.Component {
id={this.props.id}
required
onChange={this.props.onChange}
+ onKeyDown={this.handleKeyDown}
className="lt-shadow" />
<CharLimit
content={this.props.content}