I never figured out why Rally's getApp()
method disappeared, but I did find a solution to my headache!
Instead of using the html hyperlink to get to my function, I used a listener on the column like this:
this.add({
xtype: 'rallygrid',
...
columnCfgs: [
{...},
{text: 'Task Details', renderer: function(value, metaData, record, rowIndex) {
if (record.displayLink) {
return '<a href="#" class="link" id="' + rowIndex +
'" onclick="return false;">Show Tasks</a>';
}
return '';
},
listeners: {
click: function(me, td, cellIndex, record, element) {
if (element.target.className === "link") {
this._showTasks(parseInt(element.target.id, 10));
}
},
scope: this
}}
]
});
After the listener I just searched for the class name I added to the a tag and passed the rowIndex through the element's id and everything worked out!