on master help sign in
Fix bug rendering text fields positioned in a container
commiteaee1370a4a40ba89ff7b33c59c2066e67a022b5 authorEvan Czaplicki <info@elm-lang.org> dateSat 8 Mar 2014, 10:10 (13 years ago) parent0eae99a
1 file changed+8−3
runtime/Render/Element.js+8−3
runtime/Render/Element.js+8−3
@@ -151,7 +151,12 @@ function toPos(pos) {
151151
152152// must clear right, left, top, bottom, and transform
153153// before calling this function
154−function setPos(pos,w,h,e) {
154+function setPos(pos,elem,e) {
155+ var element = elem.element;
156+ var props = elem.props;
157+ var w = props.width + (element.adjustWidth ? element.adjustWidth : 0);
158+ var h = props.height + (element.adjustHeight ? element.adjustHeight : 0);
159+
155160 e.style.position = 'absolute';
156161 e.style.margin = 'auto';
157162 var transform = '';
@@ -171,7 +176,7 @@ function setPos(pos,w,h,e) {
171176
172177function container(pos,elem) {
173178 var e = render(elem);
174− setPos(pos, elem.props.width, elem.props.height, e);
179+ setPos(pos, elem, e);
175180 var div = newElement('div');
176181 div.style.position = 'relative';
177182 div.style.overflow = 'hidden';
@@ -302,7 +307,7 @@ function update(node, curr, next) {
302307 break;
303308 case "Container":
304309 update(node.firstChild, currE._1, nextE._1);
305− setPos(nextE._0, nextE._1.props.width, nextE._1.props.height, node.firstChild);
310+ setPos(nextE._0, nextE._1, node.firstChild);
306311 break;
307312 case "Custom":
308313 if (currE.type === nextE.type) {