我试图允许在两个不同的网格中拖放重新排名。
这似乎在 RC1 中不起作用(尽管在同一个网格内确实有效),所以我正在尝试自己跨网格进行拖放排名。
这似乎相当简单,我只是补充一下:
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dragGroup: dd1,
dropGroup: dd2
}
}
现在我可以跨网格拖放(尽管它不完全遵循 Rally 样式指南)。不幸的是,仅此一项并不能保存结果。为此,我需要定义一个 drop 监听器:
listeners: {
drop: function(node, data, dropRec, dropPosition) {
var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('ObjectID') : ' on empty view';
console.log('Dropped ' + data.records[0].get('ObjectID') + dropOn);
}
}
但是我如何重新排列丢弃的记录?通过检查拉力赛在正常积压上的运作方式,看起来拉力赛 WSAPI 中有“rankAbove”和“rankBelow”命令,但我将如何在我的 drop 函数中调用它们?如果我只是更新一个常规字段,我想我可以调用record.set(),但是为了排名,我需要进行这些特殊调用之一,并且给定记录我不知道怎么做。