mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-08 03:02:03 +01:00
Merge pull request #1413 from mluto/clean-getParams
Rewrote getParams() to be more dynamic and shorter
This commit is contained in:
commit
dcff3bddda
1 changed files with 28 additions and 75 deletions
|
@ -101,86 +101,39 @@ function randomString()
|
||||||
return "t." + randomstring;
|
return "t." + randomstring;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This array represents all GET-parameters which can be used to change a setting.
|
||||||
|
// name: the parameter-name, eg `?noColors=true` => `noColors`
|
||||||
|
// checkVal: the callback is only executed when
|
||||||
|
// * the parameter was supplied and matches checkVal
|
||||||
|
// * the parameter was supplied and checkVal is null
|
||||||
|
// callback: the function to call when all above succeeds, `val` is the value supplied by the user
|
||||||
|
var getParameters = [
|
||||||
|
{ name: "noColors", checkVal: "true", callback: function(val) { settings.noColors = true; $('#clearAuthorship').hide(); } },
|
||||||
|
{ name: "showControls", checkVal: "false", callback: function(val) { $('#editbar').hide(); $('#editorcontainer').css({"top":"0px"}); } },
|
||||||
|
{ name: "showChat", checkVal: "false", callback: function(val) { $('#chaticon').hide(); } },
|
||||||
|
{ name: "showLineNumbers", checkVal: "false", callback: function(val) { settings.LineNumbersDisabled = true; } },
|
||||||
|
{ name: "useMonospaceFont", checkVal: "true", callback: function(val) { settings.useMonospaceFontGlobal = true; } },
|
||||||
|
// If the username is set as a parameter we should set a global value that we can call once we have initiated the pad.
|
||||||
|
{ name: "userName", checkVal: null, callback: function(val) { settings.globalUserName = decodeURIComponent(val); } },
|
||||||
|
// If the userColor is set as a parameter, set a global value to use once we have initiated the pad.
|
||||||
|
{ name: "userColor", checkVal: null, callback: function(val) { settings.globalUserColor = decodeURIComponent(val); } },
|
||||||
|
{ name: "rtl", checkVal: "true", callback: function(val) { settings.rtlIsTrue = true } },
|
||||||
|
{ name: "alwaysShowChat", checkVal: "true", callback: function(val) { chat.stickToScreen(); } },
|
||||||
|
{ name: "lang", checkVal: null, callback: function(val) { window.html10n.localize([val, 'en']); } }
|
||||||
|
];
|
||||||
|
|
||||||
function getParams()
|
function getParams()
|
||||||
{
|
{
|
||||||
var params = getUrlVars()
|
var params = getUrlVars()
|
||||||
var showControls = params["showControls"];
|
|
||||||
var showChat = params["showChat"];
|
|
||||||
var userName = params["userName"];
|
|
||||||
var userColor = params["userColor"];
|
|
||||||
var showLineNumbers = params["showLineNumbers"];
|
|
||||||
var useMonospaceFont = params["useMonospaceFont"];
|
|
||||||
var IsnoColors = params["noColors"];
|
|
||||||
var rtl = params["rtl"];
|
|
||||||
var alwaysShowChat = params["alwaysShowChat"];
|
|
||||||
var lang = params["lang"];
|
|
||||||
|
|
||||||
if(IsnoColors)
|
for(var i = 0; i < getParameters.length; i++)
|
||||||
{
|
{
|
||||||
if(IsnoColors == "true")
|
var setting = getParameters[i];
|
||||||
|
var value = params[setting.name];
|
||||||
|
|
||||||
|
if(value && (value == setting.checkVal || setting.checkVal == null))
|
||||||
{
|
{
|
||||||
settings.noColors = true;
|
setting.callback(value);
|
||||||
$('#clearAuthorship').hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(showControls)
|
|
||||||
{
|
|
||||||
if(showControls == "false")
|
|
||||||
{
|
|
||||||
$('#editbar').hide();
|
|
||||||
$('#editorcontainer').css({"top":"0px"});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(showChat)
|
|
||||||
{
|
|
||||||
if(showChat == "false")
|
|
||||||
{
|
|
||||||
$('#chaticon').hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(showLineNumbers)
|
|
||||||
{
|
|
||||||
if(showLineNumbers == "false")
|
|
||||||
{
|
|
||||||
settings.LineNumbersDisabled = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(useMonospaceFont)
|
|
||||||
{
|
|
||||||
if(useMonospaceFont == "true")
|
|
||||||
{
|
|
||||||
settings.useMonospaceFontGlobal = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(userName)
|
|
||||||
{
|
|
||||||
// If the username is set as a parameter we should set a global value that we can call once we have initiated the pad.
|
|
||||||
settings.globalUserName = decodeURIComponent(userName);
|
|
||||||
}
|
|
||||||
if(userColor)
|
|
||||||
// If the userColor is set as a parameter, set a global value to use once we have initiated the pad.
|
|
||||||
{
|
|
||||||
settings.globalUserColor = decodeURIComponent(userColor);
|
|
||||||
}
|
|
||||||
if(rtl)
|
|
||||||
{
|
|
||||||
if(rtl == "true")
|
|
||||||
{
|
|
||||||
settings.rtlIsTrue = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(alwaysShowChat)
|
|
||||||
{
|
|
||||||
if(alwaysShowChat == "true")
|
|
||||||
{
|
|
||||||
chat.stickToScreen();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(lang)
|
|
||||||
{
|
|
||||||
if(lang !== "")
|
|
||||||
{
|
|
||||||
window.html10n.localize([lang, 'en']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue