Проектирование иерархической сетки в ралли с использованием jira open api в качестве источника данных - PullRequest
0 голосов
/ 14 июня 2019

Я пишу собственное HTML-приложение, использующее 2.1 Rally SDK. Мои задачи:

  1. Напишите пользовательское приложение html для разработки иерархической сетки, в которой данные должны получить от вызова извлечения из Jira Open API.
  2. Отфильтровать сетку по любому слову

Это мой код:

Ext.define('CustomApp', {
    extend: 'Rally.app.App',
    componentCls: 'app',
    launch: function () {
        Ext.define('User', {
            extend: 'Ext.data.Model',
            fields: ['FormattedId', 'Name', 'email'],
            associations: [
                {type: 'hasMany', model: 'UserChild',    name: 'UserChild'},
                {type: 'hasMany', model: 'Defects', name: 'Defects'},

            ],
            proxy: {
                type: 'ajax',
                url : './Users.json',
                reader: {
                    type: 'json',
                    root:'users'
                }
            },
        });

        Ext.define("UserChild", {
            extend: 'Ext.data.Model',
            fields: ['FormattedId', 'Name', 'email'],
            belongsTo: 'User'
        });

        Ext.define("Defects", {
            extend: 'Ext.data.Model',
            fields: ['FormattedId', 'Name', 'email'],
            belongsTo: 'User'
        });

        var grid=Ext.create('Rally.ui.grid.Grid', {
            store: Ext.create('Rally.data.Store', {
                model: 'User',

                autoLoad:true,
                enableHierarchy: true
            }),
            columnCfgs: [
                {
                    text:'FormattedId' , dataIndex : 'FormattedId'
                },
                {
                    text: 'Name', dataIndex: 'Name'
                },
                {
                    text:'email' , dataIndex : 'email'
                }
            ]
        });
        this.add(grid);
    }
});

Файл Users.json указан ниже:

    {
    "users": [
       {
           "FormattedId": 1,
           "Name": "Ed Spencer",
           "email": "ed@sencha.com",
           "UserChild":{
            "FormattedId": 3,
            "Name": "Ed Spencer",
            "email": "ed@sencha.com"
           },
           "Defects" :{
            "FormattedId": 4,
            "Name": "Ed Spencer",
            "email": "ed@sencha.com"

           }
       },
       {
           "FormattedId": 2,
           "Name": "Abe Elias",
           "email": "abe@sencha.com",
           "UserChild":{
            "FormattedId": 5,
            "Name": "Ed Spencer",
            "email": "ed@sencha.com"
           },
           "Defects" :{
            "FormattedId": 6,
            "Name": "Ed Spencer",
            "email": "ed@sencha.com"

           }
       }
    ]
}

Мне нужна иерархическая сетка с пользовательскими данными, а не хранилище данных ралли.

1 Ответ

0 голосов
/ 18 июня 2019

Я думаю, что вы столкнетесь с проблемой, когда попытаетесь извлечь данные Jira из приложения Rally. Скорее всего, вам будет запрещено это делать из-за CORS.

Вторая большая проблема, с которой вы столкнетесь, заключается в том, что все объекты Rally SDK основаны на том, что они являются «объектами записи» со всеми правильными переменными и процедурами. Иерархия основана на дочерних коллекциях различных типов, а не ассоциациях. Иерархические сетки делают это еще сложнее, потому что они используют немного черной магии, созданной вручную, чтобы заставить все это работать вместе, и очень устойчивы к изменениям.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...