Rally SDK 2手动过滤或指定显示的rallycardboard列

时间:2014-02-18 16:49:17

标签: rally appsdk2

我正在尝试创建一个简单的拉力卡板应用程序,将项目显示为列,项目积压故事为卡片。然后允许拖放卡片来设置项目。代码附后。

如果我指定'Project'作为属性,则该板包含工作空间中所有项目的列。我希望将显示的列限制为

  1. Scoped父母和孩子,或
  2. 编码项目列的列表。我已经尝试过操作列,columnConfig,上下文设置,但没有产生所需的结果。

    <!DOCTYPE html>
    <html>
    <head>
        <title>CardBoard Example</title>
    
        <script type="text/javascript" src="/apps/2.0rc2/sdk.js"></script>
    
        <script type="text/javascript">
            Rally.onReady(function() {
                Ext.define('ProjBoard', {
                    extend: 'Rally.app.App',
    
                    launch: function() {
                        if (cardBoardConfig) {
                            cardBoardConfig.destroy();
                        }
    
                        var cardBoardConfig = {
                            xtype: 'rallycardboard',
                            types: ['User Story'],
                            attribute: 'Project',
                            fieldToDisplay: 'Project',
                            cardConfig: {
                                fields: ['Project', 'Parent','Iteration']
                            },
                            storeConfig: {
                                filters: [
                                    { property: 'ScheduleState', operator: '<', value: 'In-Progress' },
                                    { property: 'Iteration', operator: '=', value: '' }
                                ],
                                sorters: [
                                    { property: 'Rank', direction: 'DESC' }
                                ],
                                //Specify current project and scoping
                                context: this.getContext().getDataContext()
                            }
                        };
    
                        this.add(cardBoardConfig);
                    }
                });
                Rally.launchApp('ProjBoard', {
                  name: 'Backlog Project Board'
                });
            });
        </script>
        <style type="text/css">
        </style>
    </head>
    <body></body>
    </html>
    

2 个答案:

答案 0 :(得分:0)

下面的代码允许我将十几个项目列减少到三个。首先,我获得当前项目并查询其子项目的集合,以构建我想要在板上的项目数组(您可以为板上的项目选择不同的标准),然后我扩展{{1覆盖其Rally.ui.cardboard.CardBoard方法,其中只筛选满足此条件的列:

_buildColumnsFromModel

这是完整的js文件。除了这些更改,这是您的代码。

retrievedColumns = _.select(retrievedColumns, function(project){    
     return that.arrayOfProjectRefs.indexOf(project.value) != -1
});

答案 1 :(得分:0)

您应该可以通过config指定列:

https://help.rallydev.com/apps/2.0rc2/doc/#!/api/Rally.ui.cardboard.CardBoard-cfg-columns

columns: [
    {
        value: '/project/12345',
        columnHeaderConfig: {
            headerTpl: '{project}',
            headerData: {project: 'Project 1'}
        }
    },
    //more columns...
]