summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRanga Reddy Sabbasani <rangareddy543@gmail.com>2023-05-30 07:32:02 -0600
committerGitHub <noreply@github.com>2023-05-30 16:32:02 +0300
commit8a4372c096eb22b1eb6d2151d9f625048d174c12 (patch)
tree8c3b65017e1b8a1fb98cd5119637c25385aedd9a /src
parent615db86bea582f9219487bf98aea2e516186b80b (diff)
Paste feature requested on #48 (#52)
* paste feature requested on #48 * fix merge conflicts and use netmask
Diffstat (limited to 'src')
-rw-r--r--src/index.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/index.js b/src/index.js
index 53d9fc0..b0739a3 100644
--- a/src/index.js
+++ b/src/index.js
@@ -13,6 +13,7 @@ class IPAddress extends Component {
};
this.handleChange = this.handleChange.bind(this);
this.handleKeyDown = this.handleKeyDown.bind(this);
+ this.handlePaste = this.handlePaste.bind(this);
this.handleWheel = this.handleWheel.bind(this);
}
@@ -65,6 +66,26 @@ class IPAddress extends Component {
}
}
+ handlePaste(event) {
+ const pasteText = event.clipboardData.getData('Text');
+ var details = new Netmask(pasteText);
+ const cidrParts = details.toString().split('/');
+ var octets = this.state.octets;
+ const octetParts = cidrParts[0].split('.');
+ octetParts.map((octet, i) => {
+ octets[i] = octet;
+ })
+ this.setState({
+ octets: octets
+ });
+
+ if (+cidrParts[1] <= 32) {
+ this.setState({
+ cidr: +cidrParts[1]
+ });
+ }
+ }
+
handleWheel(event) {
var lowerOctetValue = 0;
var higherOctetValue = event.target.dataset.octet === 'cidr' ? 32 : 255;
@@ -96,6 +117,7 @@ class IPAddress extends Component {
data-octet={octet}
onChange={this.handleChange}
onKeyDown={this.handleKeyDown}
+ onPaste={this.handlePaste}
onWheel={this.handleWheel}
value={this.state.octets[octet]}
/>
@@ -108,6 +130,7 @@ class IPAddress extends Component {
data-octet="cidr"
onChange={this.handleChange}
onKeyDown={this.handleKeyDown}
+ onPaste={this.handlePaste}
onWheel={this.handleWheel}
value={this.state.cidr}
/>