From 7b13a88dc47d79366b51e9a48cb4276654341fcc Mon Sep 17 00:00:00 2001 From: Tolu Oluwagbemi Date: Fri, 5 May 2017 19:16:14 +0100 Subject: [PATCH 1/4] add parentNode padding to calcWidth --- src/Truncate.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Truncate.js b/src/Truncate.js index 7fbdc516..6bb3ee6d 100644 --- a/src/Truncate.js +++ b/src/Truncate.js @@ -147,8 +147,14 @@ export default class Truncate extends Component { canvas.font = font; + const parentStyle = window.getComputedStyle(target.parentNode); + + const parentPadding = ( + ((parseInt(parentStyle['padding-left'])!=NaN)?parseInt(parentStyle['padding-left']):0) + + ((parseInt(parentStyle['padding-right'])!=NaN)?parseInt(parentStyle['padding-right']):0)); + this.setState({ - targetWidth + (targetWidth - parentPadding) }, callback); } From 235f32ba1f1a9ba9dbb95a1934e778c0deda0da1 Mon Sep 17 00:00:00 2001 From: Tolu Oluwagbemi Date: Fri, 5 May 2017 19:27:28 +0100 Subject: [PATCH 2/4] bug fix --- src/Truncate.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Truncate.js b/src/Truncate.js index 6bb3ee6d..77517428 100644 --- a/src/Truncate.js +++ b/src/Truncate.js @@ -152,9 +152,10 @@ export default class Truncate extends Component { const parentPadding = ( ((parseInt(parentStyle['padding-left'])!=NaN)?parseInt(parentStyle['padding-left']):0) + ((parseInt(parentStyle['padding-right'])!=NaN)?parseInt(parentStyle['padding-right']):0)); + targetWidth-=parentPadding this.setState({ - (targetWidth - parentPadding) + targetWidth }, callback); } From fb08098748ac7d6492216d87c4a0e378695e1d04 Mon Sep 17 00:00:00 2001 From: Tolu Oluwagbemi Date: Fri, 5 May 2017 19:42:22 +0100 Subject: [PATCH 3/4] Revert "bug fix" This reverts commit 235f32ba1f1a9ba9dbb95a1934e778c0deda0da1. --- src/Truncate.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Truncate.js b/src/Truncate.js index 77517428..6bb3ee6d 100644 --- a/src/Truncate.js +++ b/src/Truncate.js @@ -152,10 +152,9 @@ export default class Truncate extends Component { const parentPadding = ( ((parseInt(parentStyle['padding-left'])!=NaN)?parseInt(parentStyle['padding-left']):0) + ((parseInt(parentStyle['padding-right'])!=NaN)?parseInt(parentStyle['padding-right']):0)); - targetWidth-=parentPadding this.setState({ - targetWidth + (targetWidth - parentPadding) }, callback); } From 225b74eb04ce72364acd085da7630fe311effef8 Mon Sep 17 00:00:00 2001 From: Tolu Oluwagbemi Date: Fri, 5 May 2017 19:43:37 +0100 Subject: [PATCH 4/4] bug fix --- src/Truncate.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Truncate.js b/src/Truncate.js index 6bb3ee6d..7b154090 100644 --- a/src/Truncate.js +++ b/src/Truncate.js @@ -128,7 +128,7 @@ export default class Truncate extends Component { return; } - const targetWidth = target.parentNode.getBoundingClientRect().width; + let targetWidth = target.parentNode.getBoundingClientRect().width; // Delay calculation until parent node is inserted to the document // Mounting order in React is ChildComponent, ParentComponent @@ -153,8 +153,10 @@ export default class Truncate extends Component { ((parseInt(parentStyle['padding-left'])!=NaN)?parseInt(parentStyle['padding-left']):0) + ((parseInt(parentStyle['padding-right'])!=NaN)?parseInt(parentStyle['padding-right']):0)); + targetWidth-=parentPadding; + this.setState({ - (targetWidth - parentPadding) + targetWidth }, callback); }