Remaining bug fixes for restructure-1

This commit is contained in:
Dennis Eichhorn 2016-04-09 13:34:57 +02:00
parent f96b6322aa
commit 6e9c6653ca
8 changed files with 95 additions and 36 deletions

View File

@ -63,7 +63,7 @@
*/ */
jsOMS.Auth.Auth.prototype.login = function () jsOMS.Auth.Auth.prototype.login = function ()
{ {
var authRequest = new jsOMS.Message.Request(); var authRequest = new jsOMS.Message.Request.Request();
authRequest.setUri(this.uri); authRequest.setUri(this.uri);
authRequest.setMethod(jsOMS.Message.Request.RequestMethod.POST); authRequest.setMethod(jsOMS.Message.Request.RequestMethod.POST);
authRequest.setResponseType(jsOMS.Message.Request.RequestType.JSON); authRequest.setResponseType(jsOMS.Message.Request.RequestType.JSON);

View File

@ -12,13 +12,13 @@
jsOMS.Autoloader.defineNamespace('jsOMS.Log'); jsOMS.Autoloader.defineNamespace('jsOMS.Log');
jsOMS.Log.LogLevel = Object.freeze({ jsOMS.Log.LogLevel = Object.freeze({
EMERGENCY: 'normal', EMERGENCY: 'emergency',
ALERT: 'normal', ALERT: 'alert',
CRITICAL: 'normal', CRITICAL: 'critical',
ERROR: 'normal', ERROR: 'error',
WARNING: 'normal', WARNING: 'warning',
NOTICE: 'normal', NOTICE: 'notice',
INFO: 'normal', INFO: 'info',
DEBUG: 'normal' DEBUG: 'debug'
}); });
}(window.jsOMS = window.jsOMS || {})); }(window.jsOMS = window.jsOMS || {}));

View File

@ -31,7 +31,7 @@
{ {
let newMessage = jsOMS.Log.Logger.layout; let newMessage = jsOMS.Log.Logger.layout;
for(replace in context) { for(let replace in context) {
newMessage = newMessage.replace('{'+replace+'}', context[replace]); newMessage = newMessage.replace('{'+replace+'}', context[replace]);
} }
@ -42,8 +42,8 @@
{ {
context['datetime'] = (new Date()).toISOString(); context['datetime'] = (new Date()).toISOString();
context['version'] = '1.0.0'; context['version'] = '1.0.0';
context['os'] = jsOMS.Message.Request.getOS(); context['os'] = jsOMS.Message.Request.Request.getOS();
context['browser'] = jsOMS.Message.Request.getBrowser(); context['browser'] = jsOMS.Message.Request.Request.getBrowser();
context['path'] = window.location.href; context['path'] = window.location.href;
context['level'] = level; context['level'] = level;
context['message'] = message; context['message'] = message;
@ -56,7 +56,7 @@
context = this.createContext(message, context, level); context = this.createContext(message, context, level);
if(this.verbose) { if(this.verbose) {
console.log(this.interpolate(message, context, level)); console.log('%c' + this.interpolate(message, context, level), 'color: #FFA600');
} }
if(this.ui) { if(this.ui) {
@ -64,11 +64,11 @@
} }
if(this.remote) { if(this.remote) {
let request = new jsOMS.Message.Request(); let request = new jsOMS.Message.Request.Request();
request.setData(context); request.setData(context);
request.setType(jsOMS.Message.Response.ResponseType.JSON); request.setType(jsOMS.Message.Response.Response.ResponseType.JSON);
request.setUri('/{/lang}/api/log'); request.setUri('/{/lang}/api/log');
request.setMethod(jsOMS.Message.Request.RequestMethod.POST); request.setMethod(jsOMS.Message.Request.Request.RequestMethod.POST);
request.setRequestHeader('Content-Type', 'application/json'); request.setRequestHeader('Content-Type', 'application/json');
request.setSuccess(function (xhr) {}); request.setSuccess(function (xhr) {});
request.send(); request.send();
@ -77,51 +77,71 @@
jsOMS.Log.Logger.prototype.emergency = function(message, context) jsOMS.Log.Logger.prototype.emergency = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.EMERGENCY) this.write(message, context, jsOMS.Log.LogLevel.EMERGENCY)
}; };
jsOMS.Log.Logger.prototype.alert = function(message, context) jsOMS.Log.Logger.prototype.alert = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.ALERT) this.write(message, context, jsOMS.Log.LogLevel.ALERT)
}; };
jsOMS.Log.Logger.prototype.critical = function(message, context) jsOMS.Log.Logger.prototype.critical = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.CRITICAL) this.write(message, context, jsOMS.Log.LogLevel.CRITICAL)
}; };
jsOMS.Log.Logger.prototype.error = function(message, context) jsOMS.Log.Logger.prototype.error = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.ERROR) this.write(message, context, jsOMS.Log.LogLevel.ERROR)
}; };
jsOMS.Log.Logger.prototype.warning = function(message, context) jsOMS.Log.Logger.prototype.warning = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.WARNING) this.write(message, context, jsOMS.Log.LogLevel.WARNING)
}; };
jsOMS.Log.Logger.prototype.notice = function(message, context) jsOMS.Log.Logger.prototype.notice = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.NOTICE) this.write(message, context, jsOMS.Log.LogLevel.NOTICE)
}; };
jsOMS.Log.Logger.prototype.info = function(message, context) jsOMS.Log.Logger.prototype.info = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.INFO) this.write(message, context, jsOMS.Log.LogLevel.INFO)
}; };
jsOMS.Log.Logger.prototype.debug = function(message, context) jsOMS.Log.Logger.prototype.debug = function(message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.DEBUG) this.write(message, context, jsOMS.Log.LogLevel.DEBUG)
}; };
jsOMS.Log.Logger.prototype.log = function(level, message, context) jsOMS.Log.Logger.prototype.log = function(level, message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, context) this.write(message, context, context)
}; };
jsOMS.Log.Logger.prototype.console = function(level, message, context) jsOMS.Log.Logger.prototype.console = function(level, message, context)
{ {
context = typeof context === 'undefined' ? {} : context;
this.write(message, context, jsOMS.Log.LogLevel.INFO) this.write(message, context, jsOMS.Log.LogLevel.INFO)
}; };
}(window.jsOMS = window.jsOMS || {})); }(window.jsOMS = window.jsOMS || {}));

View File

@ -34,26 +34,26 @@
jsOMS.Message.Request.Request.getBrowser = function() jsOMS.Message.Request.Request.getBrowser = function()
{ {
if((!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0) { if((!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0) {
return jsOMS.EnumBrowser.OPERA; return jsOMS.Message.Request.BrowserType.OPERA;
} else if(typeof InstallTrigger !== 'undefined') { } else if(typeof InstallTrigger !== 'undefined') {
return jsOMS.EnumBrowser.FIREFOX; return jsOMS.Message.Request.BrowserType.FIREFOX;
} else if(Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0) { } else if(Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0) {
return jsOMS.EnumBrowser.SAFARI; return jsOMS.Message.Request.BrowserType.SAFARI;
} else if(/*@cc_on!@*/false || !!document.documentMode) { } else if(/*@cc_on!@*/false || !!document.documentMode) {
return jsOMS.EnumBrowser.IE; return jsOMS.Message.Request.BrowserType.IE;
} else if(!isIE && !!window.StyleMedia) { } else if(!!window.StyleMedia) {
return jsOMS.EnumBrowser.EDGE; return jsOMS.Message.Request.BrowserType.EDGE;
} else if(!!window.chrome && !!window.chrome.webstore) { } else if(!!window.chrome && !!window.chrome.webstore) {
return jsOMS.EnumBrowser.CHROME; return jsOMS.Message.Request.BrowserType.CHROME;
} else if((isChrome || isOpera) && !!window.CSS) { } else if((isChrome || isOpera) && !!window.CSS) {
return jsOMS.EnumBrowser.BLINK; return jsOMS.Message.Request.BrowserType.BLINK;
} }
}; };
jsOMS.Message.Request.Request.getOS = function() jsOMS.Message.Request.Request.getOS = function()
{ {
for(let os in jsOMS.Message.Request.OSType) { for(let os in jsOMS.Message.Request.OSType) {
if(navigator.appversion.indexOf(jsOMS.Message.Request.OSType[os]) !== -1) { if(navigator.appVersion.toLowerCase().indexOf(jsOMS.Message.Request.OSType[os]) !== -1) {
return jsOMS.Message.Request.OSType[os]; return jsOMS.Message.Request.OSType[os];
} }
} }
@ -303,7 +303,7 @@
let self = this; let self = this;
if (self.xhr.readyState !== 1) { if (self.xhr.readyState !== 1) {
self.xhr.open(this.method, jsOMS.UriFactory.build(this.uri)); self.xhr.open(this.method, jsOMS.Uri.UriFactory.build(this.uri));
for (let p in this.requestHeader) { for (let p in this.requestHeader) {
if (this.requestHeader.hasOwnProperty(p)) { if (this.requestHeader.hasOwnProperty(p)) {

View File

@ -12,6 +12,12 @@
jsOMS.Message.Response.Response.prototype.getByIndex = function(index) jsOMS.Message.Response.Response.prototype.getByIndex = function(index)
{ {
return this.responses[Object.keys(this.responses).sort()[index]]; //return this.responses[Object.keys(this.responses).sort()[index]];
return this.responses;
};
jsOMS.Message.Response.Response.prototype.count = function()
{
return 1;
}; };
}(window.jsOMS = window.jsOMS || {})); }(window.jsOMS = window.jsOMS || {}));

View File

@ -62,7 +62,7 @@
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
jsOMS.Message.Response.ResponseManager.prototype.execute = function (key, data, request) jsOMS.Message.Response.ResponseManager.prototype.run = function (key, data, request)
{ {
console.log(data); console.log(data);
if (typeof request !== 'undefined' && typeof this.messages[key][request] !== 'undefined') { if (typeof request !== 'undefined' && typeof this.messages[key][request] !== 'undefined') {

View File

@ -58,7 +58,8 @@
jsOMS.UI.FormManager.prototype.bindForm = function(id) jsOMS.UI.FormManager.prototype.bindForm = function(id)
{ {
if(typeof id === 'undefined' || !id) { if(typeof id === 'undefined' || !id) {
throw false; this.app.logger.info('A form doesn\'t have an ID.');
return;
} }
let self = this; let self = this;
@ -99,7 +100,7 @@
} }
/* Handle default submit */ /* Handle default submit */
let request = new jsOMS.Message.Request(), let request = new jsOMS.Message.Request.Request(),
self = this; self = this;
request.setData(form.getData()); request.setData(form.getData());
@ -111,7 +112,7 @@
{ {
try { try {
let o = JSON.parse(xhr.response), let o = JSON.parse(xhr.response),
response = new Response(o), response = new jsOMS.Message.Response.Response(o),
responseLength = response.count(), responseLength = response.count(),
tempResponse = null, tempResponse = null,
success = null; success = null;
@ -119,16 +120,16 @@
/* Handle responses (can be multiple response object) */ /* Handle responses (can be multiple response object) */
for (let k = 0; k < responseLength; k++) { for (let k = 0; k < responseLength; k++) {
tempResponse = response.getByIndex(k); tempResponse = response.getByIndex(k);
console.log(tempResponse);
if(typeof (success = form.getSuccess()) !== 'undefined') { if((success = form.getSuccess()) !== null) {
success(tempResponse); success(tempResponse);
} else { } else {
self.app.responseManager.run(tempResponse); self.app.responseManager.run(tempResponse.type, tempResponse, request);
} }
} }
} catch (exception) { } catch (exception) {
self.app.logger.error('Invalid JSON object: ' + xhr, 'FormManager') self.app.logger.error('Invalid Login response: ' + JSON.stringify(xhr));
return false; return false;
} }
}); });

View File

@ -7,6 +7,7 @@
this.initializeMembers(); this.initializeMembers();
this.bind(); this.bind();
this.success = null;
}; };
jsOMS.Views.FormView.prototype.initializeMembers = function() jsOMS.Views.FormView.prototype.initializeMembers = function()
@ -31,6 +32,16 @@
return document.getElementById(this.id).querySelectorAll('input[type=submit]')[0]; return document.getElementById(this.id).querySelectorAll('input[type=submit]')[0];
}; };
jsOMS.Views.FormView.prototype.getSuccess = function()
{
return this.success;
};
jsOMS.Views.FormView.prototype.setSuccess = function(callback)
{
this.success = callback;
};
jsOMS.Views.FormView.prototype.injectSubmit = function(id, callback) jsOMS.Views.FormView.prototype.injectSubmit = function(id, callback)
{ {
this.submitInjects[id] = callback; this.submitInjects[id] = callback;
@ -57,12 +68,33 @@
i = 0; i = 0;
for(i = 0; i < length; i++) { for(i = 0; i < length; i++) {
data[elements[i].getAttribute('name')] = elements[i].value; data[this.getElementId(elements[i])] = elements[i].value;
} }
return data; return data;
}; };
jsOMS.Views.FormView.prototype.getElementId = function(e)
{
let id = null;
id = e.getAttribute('name');
if(id === null) {
id = e.getAttribute('id');
} else {
return id;
}
if(id === null) {
id = e.getAttribute('type');
} else {
return id;
}
return id;
}
jsOMS.Views.FormView.prototype.getSubmitInjects = function() jsOMS.Views.FormView.prototype.getSubmitInjects = function()
{ {
return this.submitInjects; return this.submitInjects;