Issue #4: font-size option now available in options

This commit is contained in:
Belga 2014-10-30 09:51:57 +01:00
parent 11d8cbd48d
commit 66e2975bed
2 changed files with 28 additions and 7 deletions

View file

@ -33,6 +33,9 @@ OptionsManager.prototype.types = {
},
"checkbox": function(elem) {
return elem.checked;
},
"number": function(elem) {
return elem.value;
}
},
"set": {
@ -48,6 +51,9 @@ OptionsManager.prototype.types = {
} else {
elem.setAttribute('checked');
}
},
"number": function(elem, val) {
elem.value = val;
}
}
};
@ -81,7 +87,7 @@ OptionsManager.prototype.init = function() {
OptionsManager.prototype.savePart = function(pass) {
var i = 0, data = {}, storage;
if (pass) {
if (pass) {
storage = this.pass_storage;
} else {
storage = this.storage;
@ -89,7 +95,7 @@ OptionsManager.prototype.savePart = function(pass) {
if (this.opts !== null) {
for (i = this.opts.length - 1; i >= 0; --i) {
if ((pass && (this.getElemType(this.opts[i]) === "password" || this.getElemType(this.opts[i]) === "text"))
if ((pass && (this.getElemType(this.opts[i]) === "password" || this.getElemType(this.opts[i]) === "text"))
|| (!pass && this.getElemType(this.opts[i]) !== "password" && this.getElemType(this.opts[i]) !== "text")) {
data[this.opts[i].id] = this.getElemValue(this.opts[i]);
this.values[this.opts[i].id] = data[this.opts[i].id];
@ -110,7 +116,7 @@ OptionsManager.prototype.savePart = function(pass) {
OptionsManager.prototype.save = function() {
this.savePart(true);
this.savePart(false);
this.savePart(false);
};
OptionsManager.prototype.restore = function() {
@ -151,3 +157,10 @@ OptionsManager.prototype.setElemValue = function(elem, val) {
this.types.set[type](elem, val);
}
};
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}

16
lib/tab.nsui.js Normal file → Executable file
View file

@ -22,6 +22,8 @@ var Tab = function(name) {
this.buff_len = 1000;
this.history_index = 0;
this.history = [];
this.options = new OptionsManager();
this.options.restore();
this.initListElement();
this.initBodyElement();
};
@ -62,16 +64,21 @@ Tab.prototype.initListElement = function() {
Tab.prototype.initBodyElement = function() {
var chat_input_w = document.createElement("div");
this.chat_input = document.createElement("input");
this.chat_input.placeholder = "Some text here...";
this.chat_log = document.createElement("p");
this.chat_log.classList.add("chat-log");
this.chat_log.style.fontSize = this.options.values["chat-size"] + "px";
this.el_body = document.createElement("div");
this.el_body.classList.add("tab-body");
this.el_body.classList.add("tab-body");
this.el_body.id = this.name;
this.el_body.style.display = "none";
chat_input_w.classList.add("chat-input-wrapper");
this.chat_input.classList.add("chat-input");
this.chat_input.setAttribute("type", "text");
this.chat_input.addEventListener("keyup", (function(elem) {
@ -126,6 +133,7 @@ Tab.prototype.hide = function() {
};
Tab.prototype.show = function() {
this.options.restore();
if (typeof this.showHandler !== "undefined") {
this.showHandler();
}
@ -133,6 +141,7 @@ Tab.prototype.show = function() {
this.el_lst.classList.add("tab-current");
this.el_body.style.display = "block";
this.chat_log.scrollTop = 42000;
this.chat_log.style.fontSize = this.options.values["chat-size"] + "px";
this.chat_input.focus();
};
@ -156,11 +165,10 @@ Tab.prototype.flushText = function() {
Tab.prototype.appendMessage = function(msg) {
this.history_index = 0;
this.chat_log.innerHTML += '<div class="chat-message">' + $cs.ui.formatMessage(msg) + '</div>';
if (!(typeof msg.login !== "undefined" && msg.login !== null)) {
this.history.push(msg.message);
}
this.flushText();
this.chat_log.scrollTop = 42 * this.buff_len;
};