libs/web: make JS String.format() and String.serialize() available as prototype options, introduce String.nobr()
This commit is contained in:
parent
ec1b06c266
commit
564ca0accd
1 changed files with 228 additions and 201 deletions
|
@ -1097,9 +1097,9 @@ function cbi_tag_last(container)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ! String.serialize )
|
String.prototype.serialize = function()
|
||||||
String.serialize = function(o)
|
|
||||||
{
|
{
|
||||||
|
var o = this;
|
||||||
switch(typeof(o))
|
switch(typeof(o))
|
||||||
{
|
{
|
||||||
case 'object':
|
case 'object':
|
||||||
|
@ -1149,11 +1149,9 @@ if( ! String.serialize )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String.prototype.format = function()
|
||||||
if( ! String.format )
|
|
||||||
String.format = function()
|
|
||||||
{
|
{
|
||||||
if (!arguments || arguments.length < 1 || !RegExp)
|
if (!RegExp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var html_esc = [/&/g, '&', /"/g, '"', /'/g, ''', /</g, '<', />/g, '>'];
|
var html_esc = [/&/g, '&', /"/g, '"', /'/g, ''', /</g, '<', />/g, '>'];
|
||||||
|
@ -1165,7 +1163,7 @@ if( ! String.format )
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
var str = arguments[0];
|
var str = this;
|
||||||
var out = '';
|
var out = '';
|
||||||
var re = /^(([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X|q|h|j|t|m))/;
|
var re = /^(([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X|q|h|j|t|m))/;
|
||||||
var a = b = [], numSubstitutions = 0, numMatches = 0;
|
var a = b = [], numSubstitutions = 0, numMatches = 0;
|
||||||
|
@ -1184,9 +1182,9 @@ if( ! String.format )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (numSubstitutions++ < arguments.length)
|
if (numSubstitutions < arguments.length)
|
||||||
{
|
{
|
||||||
var param = arguments[numSubstitutions];
|
var param = arguments[numSubstitutions++];
|
||||||
|
|
||||||
var pad = '';
|
var pad = '';
|
||||||
if (pPad && pPad.substr(0,1) == "'")
|
if (pPad && pPad.substr(0,1) == "'")
|
||||||
|
@ -1310,3 +1308,32 @@ if( ! String.format )
|
||||||
|
|
||||||
return out + str;
|
return out + str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String.prototype.nobr = function()
|
||||||
|
{
|
||||||
|
return this.replace(/[\s\n]+/g, ' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
String.serialize = function()
|
||||||
|
{
|
||||||
|
var a = [ ];
|
||||||
|
for (var i = 1; i < arguments.length; i++)
|
||||||
|
a.push(arguments[i]);
|
||||||
|
return ''.serialize.apply(arguments[0], a);
|
||||||
|
}
|
||||||
|
|
||||||
|
String.format = function()
|
||||||
|
{
|
||||||
|
var a = [ ];
|
||||||
|
for (var i = 1; i < arguments.length; i++)
|
||||||
|
a.push(arguments[i]);
|
||||||
|
return ''.format.apply(arguments[0], a);
|
||||||
|
}
|
||||||
|
|
||||||
|
String.nobr = function()
|
||||||
|
{
|
||||||
|
var a = [ ];
|
||||||
|
for (var i = 1; i < arguments.length; i++)
|
||||||
|
a.push(arguments[i]);
|
||||||
|
return ''.nobr.apply(arguments[0], a);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue