J'essaie de créer une application de dessin avec ExtJS4, à la manière MVC.
Pour ce faire, je souhaite créer plusieurs widgets. Voici mon code pour un widget :
VIEW :
Ext.define('VP.view.fields.Field' ,{
extend: 'Ext.draw.Sprite',
alias: 'widget.field',
constructor: function() {
var parentConfig = {
id: 'field',
fill: '#FFFF00',
type: 'rect',
width: '100%',
height: '100%',
x: 0,
y: 0
};
this.callParent([parentConfig]);
}
});
CONTRÔLEUR :
Ext.define('VP.controller.Fields', {
extend: 'Ext.app.Controller',
views: [
'fields.Field'
],
init: function() {
console.log('Initialized Field controller!');
var me = this;
me.control({
'field': { //trying to control the widget.field, this fails
//'viewport > draw[surface]': { //this controls the surface successfully
//'viewport > draw[surface] > field': { //fails
click: this.addObject
}
});
},
addObject : function(event,el){
console.log(el);
//console.log(drawComponent);
}
});
Comment puis-je contrôler ce sprite personnalisé ? Est-ce que seuls les composants Ext.components peuvent être contrôlés par un contrôleur ? (Ext.draw.Sprite n'étend pas Ext.component).