From 2fd68648924deeecccf2bcc83db3d6689d597d44 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 24 Jun 2021 15:54:27 +0200 Subject: [PATCH] set auto resize width to auto when ngModel has a value but element is hidden --- .../forms/umbautoresize.directive.js | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/umbautoresize.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/umbautoresize.directive.js index 2ec3960a59..58c9be1121 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/umbautoresize.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/forms/umbautoresize.directive.js @@ -17,6 +17,12 @@ angular.module("umbraco.directives") } } + // if the element is hidden the width will be 0 even though it has a value. + // This could happen if the element is hidden in a tab. + if (ngModelController.$modelValue && domEl.clientWidth === 0) { + element.width('auto'); + } + if (!ngModelController.$modelValue && attr.placeholder) { attr.$set('size', attr.placeholder.length); element.width('auto'); @@ -25,39 +31,25 @@ angular.module("umbraco.directives") } function resizeTextarea() { - if (domEl.scrollHeight !== domEl.clientHeight) { - element.height(domEl.scrollHeight); - } - } var update = function (force) { - - if (force === true) { - if (domElType === "textarea") { element.height(0); } else if (domElType === "text") { element.width(0); } - } - if (domElType === "textarea") { - resizeTextarea(); - } else if (domElType === "text") { - resizeInput(); - } - }; //listen for tab changes