Insert spaces such that line breaks still happen. Fix string displaying in buttons.
This commit is contained in:
parent
c402dce192
commit
3584556ccd
2 changed files with 36 additions and 9 deletions
|
@ -32,14 +32,41 @@ var Value = function(){
|
|||
return arr;
|
||||
};
|
||||
|
||||
var properEscape = function(str) {
|
||||
return str.replace(/&/g, "&")
|
||||
.replace(/"/g, /*"*/ """)
|
||||
.replace(/'/g, /*'*/ "'")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/\n/g, "<br/>");
|
||||
};
|
||||
function makeSpaces(s) {
|
||||
var arr = s.split('');
|
||||
if (arr[0] == ' ') { arr[0] = " " }
|
||||
for (var i = arr.length; --i; ) {
|
||||
if (arr[i][0] == ' ' && arr[i-1] == ' ') {
|
||||
arr[i-1] = arr[i-1] + arr[i];
|
||||
arr[i] = '';
|
||||
}
|
||||
}
|
||||
for (var i = arr.length; i--; ) {
|
||||
if (arr[i].length > 1 && arr[i][0] == ' ') {
|
||||
var spaces = arr[i].split('');
|
||||
for (var j = spaces.length - 2; j >= 0; j -= 2) {
|
||||
spaces[j] = ' ';
|
||||
}
|
||||
arr[i] = spaces.join('');
|
||||
}
|
||||
}
|
||||
return arr.join('');
|
||||
}
|
||||
|
||||
function properEscape(str) {
|
||||
if (str.length == 0) return str;
|
||||
str = str //.replace(/&/g, "&")
|
||||
.replace(/"/g, /*"*/ """)
|
||||
.replace(/'/g, /*'*/ "'")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/\n/g, "<br/>");
|
||||
var arr = str.split('<br/>');
|
||||
for (var i = arr.length; i--; ) {
|
||||
arr[i] = makeSpaces(arr[i]);
|
||||
}
|
||||
return arr.join('<br/>');
|
||||
}
|
||||
|
||||
var toText = function(elmList) {
|
||||
if (typeof elmList === "string") return properEscape(elmList);
|
||||
|
|
|
@ -274,7 +274,7 @@ var Signal = function() {
|
|||
var button = function(name) {
|
||||
var b = newElement('input');
|
||||
b.type = "button";
|
||||
b.value = Text.toText(name);
|
||||
b.value = Foreign.JavaScript.castStringToJSString(name);
|
||||
var press = Elm.Input(false);
|
||||
addListener(b, 'click', function(e) {
|
||||
Dispatcher.notify(press.id, true);
|
||||
|
|
Loading…
Reference in a new issue