SDK 2:设置对话框的示例

时间:2012-07-08 01:01:43

标签: javascript extjs rally

您是否发布了SDK 2应用程序的示例,该应用程序在其“Gear”菜单中添加了一个条目,并允许用户通过对话框窗口将设置保存到首选项对象?

2 个答案:

答案 0 :(得分:2)

我最终使用ExtJS CookieProvider来保存我应用的状态。通过使用cookie,设置是每个用户,我也按项目进行设置。我在App类中的代码如下所示:

...
sessionKey: function() {
  return (this.getContext().get('appID') || 'MyAppName') + ':' + this.getContext().getProject()._ref;
},

session: function() {
  if (!this.state)
    this.state = Ext.state.Manager.get(this.sessionKey()) || {};

  return this.state;
},

saveSession: function(newState) {
  var session = this.session();
  Ext.apply(session, newState);
  Ext.state.Manager.set(this.sessionKey(), session);
},

launch: function() {
   Ext.state.Manager.setProvider(Ext.create('Ext.state.CookieProvider'));
   ...

要使用它,只需调用this.session()来获取状态,然后使用saveSession()将状态合并回来。工作得很好!

它甚至可以在开发模式下工作。请注意,Chrome(和其他浏览器?)不会以file://模式保存Cookie,除非您tell it to

答案 1 :(得分:1)

简短的回答是,现在这是不可能的。

我们正在尝试找出允许用户与自定义应用内部设置进行交互的最佳方式。由于每个应用程序都在一个IFrame内部沙箱化,因此没有应用程序代码可以与齿轮菜单进行交互(因为它在您的框架之外)。

将来我们正在研究如何使自定义应用和Rally Apps以统一的方式与设置进行交互。

如果您要存储设置,可以查看App对象的文档。在2.0p2版本的SDK中,我们添加了一些功能来帮助您管理应用上的设置。 现在,所有自定义应用程序都必须提供自己的界面来访问设置。