[Major] Registering allow for params to be passed, handling wildcard registering for type
This commit is contained in:
parent
1e7e3ab0c7
commit
e629ef8d47
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "strolch-wc-ws-observer",
|
"name": "strolch-wc-ws-observer",
|
||||||
"description": "Strolch Polymer WebSocket observer update handler extension",
|
"description": "Strolch Polymer WebSocket observer update handler extension",
|
||||||
"version": "0.1.5",
|
"version": "0.2.0",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Robert von Burg"
|
"Robert von Burg"
|
||||||
],
|
],
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
"homepage": "https://github.com/4treesCH/strolch-wc-ws-observer",
|
"homepage": "https://github.com/4treesCH/strolch-wc-ws-observer",
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"strolchjs": "4treesCH/strolchjs#^0.2.7",
|
"strolchjs": "4treesCH/strolchjs#^0.2.8",
|
||||||
"polymer": "Polymer/polymer#^1.11.3"
|
"polymer": "Polymer/polymer#^1.11.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
register: function (objectType, type, source, flat, callback) {
|
register: function (objectType, type, source, params, callback) {
|
||||||
var byObjectType = observers[objectType];
|
var byObjectType = observers[objectType];
|
||||||
if (byObjectType == null) {
|
if (byObjectType == null) {
|
||||||
observers[objectType] = {};
|
observers[objectType] = {};
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
if (byType == null) {
|
if (byType == null) {
|
||||||
byObjectType[type] = {};
|
byObjectType[type] = {};
|
||||||
byType = byObjectType[type];
|
byType = byObjectType[type];
|
||||||
this._register(objectType, type, flat);
|
this._register(objectType, type, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (byType[source] != null) {
|
if (byType[source] != null) {
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
byType[source] = callback;
|
byType[source] = callback;
|
||||||
console.log("Registered callback for " + objectType + " " + type + " " + source + " as " + (flat ? "flat" : "full") + " format");
|
console.log("Registered callback for " + objectType + " " + type + " " + source + " params: " + JSON.stringify(params));
|
||||||
},
|
},
|
||||||
|
|
||||||
unregister: function (objectType, type, source) {
|
unregister: function (objectType, type, source) {
|
||||||
|
@ -71,25 +71,26 @@
|
||||||
console.log("Unregistered callback for " + objectType + " " + type + " " + source);
|
console.log("Unregistered callback for " + objectType + " " + type + " " + source);
|
||||||
},
|
},
|
||||||
|
|
||||||
_register: function (objectType, type, flat) {
|
_register: function (objectType, type, params) {
|
||||||
console.log("Registering for updates for " + objectType + " " + type);
|
console.log("Registering for updates for " + objectType + " " + type);
|
||||||
this._sendWsMessage({
|
this._sendWsMessage({
|
||||||
msgType: "ObserverRegister",
|
msgType: "ObserverRegister",
|
||||||
objectType: objectType,
|
objectType: objectType,
|
||||||
type: type,
|
type: type,
|
||||||
flat: flat
|
params: params
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
notifyObservers: function (msg) {
|
notifyObservers: function (msg) {
|
||||||
var byObjectType = observers[msg.objectType];
|
var byObjectType = observers[msg.objectType];
|
||||||
if (byObjectType == null) {
|
if (byObjectType == null)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
var byType = byObjectType[msg.type];
|
var byType = byObjectType[msg.type];
|
||||||
if (byType == null) {
|
if (byType == null) {
|
||||||
return
|
byType = byObjectType["*"];
|
||||||
|
if (byType == null)
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.keys(byType).forEach(function (k) {
|
Object.keys(byType).forEach(function (k) {
|
||||||
|
|
Loading…
Reference in New Issue