Ошибка инициализации во время рендеринга диаграммы после создания моего приложения

После сборки моего приложения возникает исключение «TypeError: j.initialize не является функцией». Эта ошибка возникает только при создании приложения, а не в режиме отладки.

в этой строке в ext-all.js:

j.initialize();

Я финансирую, где это происходит в коде extjs, но я не понимаю, почему.

Используемая версия extjs: 4.2.2 - сборка 1444 Используемая версия CMD: 4.0.2.67

Мой круговой код диаграммы:

                           {
                                xtype:'chart',
                                renderTo: Ext.getBody(),
                                legend:false,
                                width:120,
                                height:120,
                                animate: true,
                                store: 'PagesCountDetailsPieStore',
                                itemId:'pieChartProjectDetailsDashboard',
                                shadow:false,
                                series: [{
                                    type: 'pie',
                                    donut:60,
                                    angleField: 'data'
                                }]
                            }

В магазине использовались:

Ext.define('Saas.store.PagesCountDetailsPieStore',{
extend:'Ext.data.JsonStore',
storeId:'pageCountDetailsPieStoreItemId',
autoLoad:true,
fields:['name','data'],
data: [
    { 'name': 'metric one',   'data': 10 },
    { 'name': 'metric two',   'data':  7 },
    { 'name': 'metric three', 'data':  5 },
    { 'name': 'metric four',  'data':  2 },
    { 'name': 'metric five',  'data': 27 }]

});

И где ошибка возникает в файле ext-all.js:

initializeSeries: function(j, m, a) {
var k = this,
    g = k.themeAttrs,
    d, h, o, q, p, n = [],
    e = (j instanceof Ext.chart.series.Series).i = 0,
    c, b;
if (!j.initialized) {
    b = {
        chart: k,
        seriesId: j.seriesId
    };
    if (g) {
        o = g.seriesThemes;
        p = g.markerThemes;
        d = Ext.apply({}, g.series);
        h = Ext.apply({}, g.marker);
        b.seriesStyle = Ext.apply(d, o[a % o.length]);
        b.seriesLabelStyle = Ext.apply({}, g.seriesLabel);
        b.markerStyle = Ext.apply(h, p[a % p.length]);
        if (g.colors) {
            b.colorArrayStyle = g.colors
        } else {
            n = [];
            for (c = o.length; i < c; i++) {
                q = o[i];
                if (q.fill || q.stroke) {
                    n.push(q.fill || q.stroke)
                }
            }
            if (n.length) {
                b.colorArrayStyle = n
            }
        }
        b.seriesIdx = m;
        b.themeIdx = a
    }
    if (e) {
        Ext.applyIf(j, b)
    } else {
        Ext.applyIf(b, j);
        j = k.series.replace(Ext.createByAlias("series." + j.type.toLowerCase(), b))
    }
}
j.initialize();
j.initialized = true;
return j

},


person monstergold    schedule 15.03.2016    source источник


Ответы (1)


Похоже, проблема с компилятором.

Вам просто нужно вручную добавить необходимое условие в верхней части вашего представления со всем, что вам нужно для диаграммы, и оно работает.

    requires:[
       'Ext.chart.series.Pie',
       'Ext.chart.series.Series',
       'Ext.chart.Chart',
       'Ext.data.Store'
    ]
person monstergold    schedule 17.03.2016