Extjs "Ext.ux.DataView.Draggable" завершается неудачно при инициализации - PullRequest
2 голосов
/ 06 марта 2012

Я пытаюсь переместить элементы из View в другой View или Panel.

Все источники указывают на Ext.ux.DataView.Draggable .Но это не работает для меня.

После кода из Extjs docs не удается:

Ext.create('Ext.view.View', {
    mixins: {
        draggable: 'Ext.ux.DataView.Draggable'
    },

    initComponent: function() {
        this.mixins.draggable.init(this, {
            ddConfig: {
                ddGroup: 'someGroup'
            }
        });

        this.callParent(arguments);
    }
});

this.mixins.draggable установлен какне определено.Так что init метод не найден.

Журналы ошибок:

Uncaught TypeError: Object Ext.ux.DataView.Draggable has no method 'init'

Ext.create.initComponent fiddle.jshell.net:28
Ext.define.constructor ext-all.js:15
b.callParent ext-all.js:15
Ext.define.constructor ext-all.js:15
Ext.Class.m ext-all.js:15
(anonymous function)
Ext.ClassManager.instantiate ext-all.js:15
(anonymous function) ext-all.js:15
window.onload

Есть ли простой способ заставить его работать?

Edit1: Здесь вы можете попробовать ;).

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Наконец-то я получил его и спасибо за ' Mitchell Simoens ', которые ответили на тот же вопрос на sencha forum .Таким образом, я публикую его решение, которое, я думаю, хорошо сделано: Ext.ux.DataView.Draggable не удалось инициализировать!

Ответ в нескольких словах: Выне следует переопределять initComponent и устанавливать миксины при использовании Ext.create, вы должны делать это в Ext.define. Пример .

0 голосов
/ 07 марта 2012

Я думаю, вам может понадобиться посмотреть: Ext.dd.DragZone - ссылка на документацию .Ext.ux.DataView.Draggable заявляет, что он требует, чтобы он работал, и он содержит отсутствующую функцию инициализации.Надеюсь, это поможет.

...