If you add javascript to the page and just call it, it will run on every page-load. If you want to limit to just case edit, or assign, or another, use this code:
$(function(){
// if we're not on the case page, don't do anything
if (!$('#bugviewContainer').length) return;
var myFunction = function(sCommand) {
// you can put a conditional in here if you only want to
// run your code for certain modes by looking at sCommand.
// the possible values are:
// load, view, edit, assign, reply, forward, resolve,
// close, reactivate, reopen, new
// on initial page load, sCommand will be 'load'
// on viewing a case after canceling an AJAXy action, e.g.
// canceling an edit, sCommand will be 'view'
// on page load of the new case page, sCommand will be 'new'
};
if ($('#sEventEdit').length > 0)
{
myFunction('new');
}
else if ($('#sEventReply').length > 0)
{
myFunction('reply');
}
else if ($('#sEventForward').length > 0)
{
myFunction('forward');
}
else {
myFunction('load');
}
// run it when the view changes and pass in the new view:
$(window).on('BugViewChange', function(e, data) {
myFunction(data.sCommand);
});
});
To figure out what commands are executing, enter this as the first line inside of myFunction():
console.log(sCommand);
If your code (myFunction) is not executing on some or all types of page-loads, you can add a delay:
$(function(){
// if we're not on the case page, don't do anything
if (!$('#bugviewContainer').length) return;
var myFunction = function(sCommand) {
// you can put a conditional in here if you only want to
// run your code for certain modes by looking at sCommand.
// the possible values are:
// load, view, edit, assign, reply, forward, resolve,
// close, reactivate, reopen, new
// on initial page load, sCommand will be 'load'
// on viewing a case after canceling an AJAXy action, e.g.
// canceling an edit, sCommand will be 'view'
// on page load of the new case page, sCommand will be 'new'
// run after a delay (in milliseconds)
setTimeout(doSomeStuff, 100);
};
var doSomeStuff = function() {
// do your work here
}
if ($('#sEventEdit').length > 0)
{
myFunction('new');
}
else if ($('#sEventReply').length > 0)
{
myFunction('reply');
}
else if ($('#sEventForward').length > 0)
{
myFunction('forward');
}
else {
myFunction('load');
}
// run it when the view changes and pass in the new view:
$(window).on('BugViewChange', function(e, data) {
myFunction(data.sCommand);
});
});
Priyanka Bhotika
Comments