on master help sign in
Fix problem with Text alignment!
df95c68Evan Czaplicki
libraries/Native/List.js+3−3
@@ -55,7 +55,7 @@ Elm.Native.List.make = function(elm) {
55 function append(xs,ys) {
55 function append(xs,ys) {
56 // append Text
56 // append Text
57 if (xs.text || ys.text) {
57 if (xs.text || ys.text) {
58− return Utils.txt(Utils.makeText('',xs) + Utils.makeText('',ys));
58+ return Utils.txt(Utils.makeText(xs) + Utils.makeText(ys));
59 }
59 }
60
60
61 // append Strings
61 // append Strings
@@ -270,10 +270,10 @@ Elm.Native.List.make = function(elm) {
270
270
271 function join(sep, xss) {
271 function join(sep, xss) {
272 if (sep.text) {
272 if (sep.text) {
273− sep = Utils.makeText('',sep);
273+ sep = Utils.makeText(sep);
274 xss = toArray(xss);
274 xss = toArray(xss);
275 for (var i = xss.length; i--; ) {
275 for (var i = xss.length; i--; ) {
276− xss[i] = Utils.makeText('',xss[i]);
276+ xss[i] = Utils.makeText(xss[i]);
277 }
277 }
278 return Utils.txt(xss.join(sep));
278 return Utils.txt(xss.join(sep));
279 }
279 }
libraries/Native/Text.js+7−5
@@ -91,10 +91,11 @@ Elm.Native.Text.make = function(elm) {
91 function position(align) {
91 function position(align) {
92 function create(text) {
92 function create(text) {
93 var raw = {
93 var raw = {
94− ctor:'RawHtml',
94+ ctor :'RawHtml',
95− html: Utils.makeText('text-align:' + align + ';', text),
95+ html : Utils.makeText(text),
96+ align: align,
96− guid: null,
97+ guid : null,
97− args: [],
98+ args : [],
98 };
99 };
99 var pos = A2(Utils.htmlHeight, 0, raw);
100 var pos = A2(Utils.htmlHeight, 0, raw);
100 return A3(Element.newElement, pos._0, pos._1, raw);
101 return A3(Element.newElement, pos._0, pos._1, raw);
@@ -106,6 +107,7 @@ Elm.Native.Text.make = function(elm) {
106 var raw = {
107 var raw = {
107 ctor:'RawHtml',
108 ctor:'RawHtml',
108 html: text,
109 html: text,
110+ align: null,
109 guid: guid,
111 guid: guid,
110 args: [],
112 args: [],
111 };
113 };
@@ -145,4 +147,4 @@ Elm.Native.Text.make = function(elm) {
145
147
146 asText : asText,
148 asText : asText,
147 };
149 };
148−};
150+};
libraries/Native/Utils.js+2−2
@@ -74,8 +74,8 @@ Elm.Native.Utils.make = function(elm) {
74 return t;
74 return t;
75 }
75 }
76
76
77− function makeText(style, text) {
77+ function makeText(text) {
78− var style = style;
78+ var style = '';
79 var line = '';
79 var line = '';
80 var href = '';
80 var href = '';
81 while (true) {
81 while (true) {
runtime/Render/Element.js+2
@@ -158,10 +158,12 @@ function rawHtml(elem) {
158 var html = elem.html;
158 var html = elem.html;
159 var args = elem.args;
159 var args = elem.args;
160 var guid = elem.guid;
160 var guid = elem.guid;
161+ var align = elem.align;
161
162
162 var div = newElement('div');
163 var div = newElement('div');
163 div.innerHTML = html;
164 div.innerHTML = html;
164 div.style.visibility = "hidden";
165 div.style.visibility = "hidden";
166+ if (align) div.style.textAlign = align;
165 document.body.appendChild(div);
167 document.body.appendChild(div);
166
168
167 for (var i = args.length; i--; ) {
169 for (var i = args.length; i--; ) {