diff options
| author | Ranga Reddy Sabbasani <rangareddy543@gmail.com> | 2023-05-30 07:32:02 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-30 16:32:02 +0300 |
| commit | 8a4372c096eb22b1eb6d2151d9f625048d174c12 (patch) | |
| tree | 8c3b65017e1b8a1fb98cd5119637c25385aedd9a /src | |
| parent | 615db86bea582f9219487bf98aea2e516186b80b (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.js | 23 |
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} /> |
