我破解了示例,创建了一个可以在两个面板之间传递事件的应用程序示例。目前这是非常不受支持的,我们保留在没有任何警告的情况下随时破坏它的权利。
话虽如此,您可以看到当前不受支持的获取应用程序 ID 的方式,如果您制作此应用程序的两个副本,您可以在控制台中看到应用程序在全局 Rally 消息总线上通信的结果。
你可以在这里找到它的要点
<!DOCTYPE html>
<html>
<head>
<title>My Custom App</title>
<!--Include SDK-->
<script type="text/javascript" src="/apps/2.0p/sdk.js"></script>
<!--App code-->
<script type="text/javascript">
Rally.onReady(function() {
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
mixins:['Rally.Messageable'],
launch: function() {
var brokenInTheFutureIdThatWillWorkForNow = Ext.Object.fromQueryString(window.location.href);
window.parent.Rally.Messages.subscribe("test",function(){console.error(brokenInTheFutureIdThatWillWorkForNow.panelOid,arguments);});
window.parent.Rally.Messages.publish("test",brokenInTheFutureIdThatWillWorkForNow.panelOid);
//Write app code here
}
});
Rally.launchApp('CustomApp', {
name: 'My Custom App'
});
});
</script>
<!--App styles-->
<style type="text/css">
.app {
/* Add app styles here */
}
</style>
</head>
<body class="myApp">
</body>
</html>