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;
|
return arr;
|
||||||
};
|
};
|
||||||
|
|
||||||
var properEscape = function(str) {
|
function makeSpaces(s) {
|
||||||
return str.replace(/&/g, "&")
|
var arr = s.split('');
|
||||||
.replace(/"/g, /*"*/ """)
|
if (arr[0] == ' ') { arr[0] = " " }
|
||||||
.replace(/'/g, /*'*/ "'")
|
for (var i = arr.length; --i; ) {
|
||||||
.replace(/</g, "<")
|
if (arr[i][0] == ' ' && arr[i-1] == ' ') {
|
||||||
.replace(/>/g, ">")
|
arr[i-1] = arr[i-1] + arr[i];
|
||||||
.replace(/\n/g, "<br/>");
|
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) {
|
var toText = function(elmList) {
|
||||||
if (typeof elmList === "string") return properEscape(elmList);
|
if (typeof elmList === "string") return properEscape(elmList);
|
||||||
|
|
|
@ -274,7 +274,7 @@ var Signal = function() {
|
||||||
var button = function(name) {
|
var button = function(name) {
|
||||||
var b = newElement('input');
|
var b = newElement('input');
|
||||||
b.type = "button";
|
b.type = "button";
|
||||||
b.value = Text.toText(name);
|
b.value = Foreign.JavaScript.castStringToJSString(name);
|
||||||
var press = Elm.Input(false);
|
var press = Elm.Input(false);
|
||||||
addListener(b, 'click', function(e) {
|
addListener(b, 'click', function(e) {
|
||||||
Dispatcher.notify(press.id, true);
|
Dispatcher.notify(press.id, true);
|
||||||
|
|
Loading…
Reference in a new issue