I extended business rules for a customer to automatically create ticket activities when an emailed history record is associated with a ticket. This was done to mirror logic from their old LAN environment. However they pointed out that when they dragged & dropped an email onto a ticket the grid didn’t refresh automatically.
After investigating the NotesHistoryList I quickly discovered that I could inject this into my quickform without any hassle. The injection point here is the contextualCondition property of the editable grid.
this.onHistoryChanges = function (history) {
this.refresh();
};
this.connections = [];
this.connections.push(dojo.subscribe('/entity/history/create', this, this.onHistoryChanges));
this.connections.push(dojo.subscribe('/entity/history/change', this, this.onHistoryChanges));
Now whenever a history record is added or an email is Dragged & Dropped in, the ticket activities grid will automagically refresh for the user (just like the Notes/History grids do).