1

プロセスを支援するために、現在の反復のストーリー/欠陥のみをかんばんタイプのボードに表示したいと思います。

そこで、この例をSOで見つけ、QUERY行を追加して反復を除外しました。しかし今、私はこれがラリーによって提供された反復ドロップダウンボックスから来ることを望んでいます。

画面に追加しましたが、[OK]と表示されますが、実際にクエリに接続するにはどうすればよいですか?

    <!DOCTYPE html>
    <html>
    <head>
    <title>My Custom App</title>

    <!--Include SDK-->
    <script type="text/javascript" src="https://rally1.rallydev.com/apps/2.0p/sdk.js"></script>

    <!--App code-->
    <script type="text/javascript">

        Rally.onReady(function() {

            Ext.define('CustomApp', {
                extend: 'Rally.app.App',
                componentCls: 'app',
                mappedToField:"State",
                mappedFromField:"KanbanState",

                fieldNameMap:{
                   a:"New",
                   b:"New",
                   c:"Defined",
                   d:"In-Progress",
                   e:"In-Progress",
                   f:"Completed",
                   g:"Completed",
                   h:"Accepted"
                },

                launch: function() {
                     this.add({
                        xtype:'rallyiterationcombobox',
                        itemId: 'iterationComboBox',
                    });

                    this.add({
                        xtype:'rallycardboard',
                        types: ["Defect", "HierarchicalRequirement"],
                        query: 'Iteration.Name contains "UB Sprint 29"',
                        attribute: this.mappedFromField,
                        listeners:{
                            beforecarddroppedsave:function(cardboard, card) {
                                //map the new state from on this card to the new state
                                var newState = this.fieldNameMap[card.record.get(this.mappedFromField)];
                                card.record.set(this.mappedToField, newState);
                            },
                            scope:this
                        }
                    });
                }
            });

            Rally.launchApp('CustomApp', {
                name: 'My Custom App'
            });

        });

    </script>


    </head>
    <body class="myApp">
    </body>
    </html>
4

1 に答える 1

0

イテレーションでフィルタリングする場合は、イテレーションコンボボックスにリスナーを追加し、現在選択されているイテレーションに基づいてボードを作成する必要があります。

<!DOCTYPE html>

反復による私のかんばん

<!--Include SDK-->
<script type="text/javascript" src="https://rally1.rallydev.com/apps/2.0p2/sdk.js"></script>

<!--App code-->
<script type="text/javascript">

    Rally.onReady(function() {

        Ext.define('CustomApp', {
            extend: 'Rally.app.App',
            componentCls: 'app',
            mappedToField:"State",
            mappedFromField:"KanbanState",

            kanban:undefined,
            fieldNameMap:{
                a:"New",
                b:"New",
                c:"Defined",
                d:"In-Progress",
                e:"In-Progress",
                f:"Completed",
                g:"Completed",
                h:"Accepted"
            },

            launch: function() {
                this.add({
                    xtype:'rallyiterationcombobox',
                    itemId: 'iterationComboBox',
                    listeners: {
                        select: this.createKanban,
                        ready: this.createKanban,
                        scope: this
                    }
                });
            },
            createKanban:function(combo, records) {
                if (this.kanban) {
                    this.kanban.destroy();
                }
                var filters = [];
                if (records.length) {
                    filters.push({
                        property: 'Iteration',
                        value: records[0].get("_ref")
                    });
                }
                this.kanban = this.add({
                    xtype:'rallycardboard',
                    types: ["Defect", "HierarchicalRequirement"],
                    attribute: this.mappedFromField,
                    listeners:{
                        beforecarddroppedsave:function(cardboard, card) {
                            //map the new state from on this card to the new state
                            var newState = this.fieldNameMap[card.record.get(this.mappedFromField)];
                            card.record.set(this.mappedToField, newState);
                        },
                        scope:this
                    },
                    storeConfig:{
                        filters:filters
                    }
                });
            }
        });

        Rally.launchApp('CustomApp', {
            name: 'My Kanban by Iteration'
        });

    });

</script>

于 2012-07-19T21:53:37.307 に答える