Order of the events at the client: onItemUpdate, onEndOfSnapshot
We use Vivace edition of LightStreamer.
We use our Grid (html table) as the listener.
We expect the following order of the events at the client:
1) onSubscription
2) onItemUpdate
if (command == "ADD") {
$tbody.find("tr:last").after($tr);
}
3) onEndOfSnapshot
- we set scroller
- we do another job after initial data has loaded
We have that order when we subscibe on item for the first time.
But when we subscribe to the same item again, LightStreamer returns data from Snapshot, without using Adapter, and we get the following order of the events:
1) onSubscription
2) onEndOfSnapshot
3) onItemUpdate
That way we can't do the initial job in onEndOfSnapshot event.
Another question:
When we make subsciption like this:
new Subscription("COMMAND", "Group1", cellList);
and return items:
Group1|ItemA
Group1|ItemB
Group1|ItemC
aftre that we make another subsciption:
new Subscription("COMMAND", "Group2", cellList);
and return items:
Group2|ItemX
Group2|ItemB
Group2|ItemY
When we want to push change in ItemB
What do you suggest:
a) for each Group where ItemB is involved
_listener.OnEvent(Group1, update[ItemB], false);
_listener.OnEvent(Group2, update[ItemB], false);
or
b) to force subscription at Item level, rather than Group level;
new Subscription("COMMAND", "ItemA", cellList);
new Subscription("COMMAND", "ItemB", cellList);
new Subscription("COMMAND", "ItemC", cellList);
new Subscription("COMMAND", "ItemX", cellList);
new Subscription("COMMAND", "ItemY", cellList);
?
Best regards,
Slavko Parezanin