Für die UI habe ich eine kleine Helfer-Klasse geschrieben, vielleicht kann die ja jemand gebrauchen:
Code:

function View(name) {
	var _name	= name;
	var _width	= 100;
	var _height	= 100;
	var _data	= {};
	
	this.setSize = function(width, height) {
		_width	= width;
		_height	= height;
	};
	
	this.send = function(user) {
		// canSendAppContent
		// canShowAppViewMode
		user.setAppContent(AppContent.overlayContent(new HTMLFile(_name + '.html', _data), _width, _height));
	};
	
	/*
		Strings
	*/
	this.getString = function(key, defaultValue) {
		return this.getObject(key, defaultValue);
	};
	
	this.addString = function(key, value) {
		this.addObject(key, value);
	};
	
	this.removeString = function(key) {
		this.removeObject(key);
	};
	
	this.hasString = function(key) {
		return this.hasObject(key);
	};
	
	/*
		Number
	*/
	this.getNumber = function(key, defaultValue) {
		return this.getObject(key, defaultValue);
	};
	
	this.addNumber = function(key, value) {
		this.addObject(key, value);
	};
	
	this.removeNumber = function(key) {
		this.removeObject(key);
	};
	
	this.hasNumber = function(key) {
		return this.hasObject(key);
	};
	
	/*
		Object
	*/
	this.getObject = function(key, defaultValue) {
		if(this.hasObject(key)) {
			return _data[key];
		}
		
		return defaultValue;
	};
	
	this.addObject = function(key, value) {
		_data[key] = value;
	};
	
	this.removeObject = function(key) {
		delete _data[key];
	};
	
	this.hasObject = function(key) {
		return (_data[key] != undefined);
	};
};



Das ganze kann dann zum Beispiel wie folgt genutzt werden:

Code:

var view	= new View('Overview'); // ~> www/Overview.html

view.setSize(250, 300);
view.addObject('user', user.getNick());
view.send(user);



Die Methoden addObject (wie bei der Persistence) fügt Daten an der UI als pageData an. Ich habe es mir hier einfach gemacht und jage diese Clientseitig durch den Event-Receiver (onSendEventReceived):

Code:

if(Client.pageData != undefined) {
	for(var index in Client.pageData) {
		var key	= index;
		var value	= Client.pageData[index];
		Client.onSendEventReceived(key, JSON.stringify(value));
	}
}



Bearbeitet von Bizarrus (15.04.2015, 02:57:14)
_________________________
Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');