J'essaye de construire l'application qui utilise la config simple passée par le serveur comme non-natif JSON (peut contenir des fonctions). Tout fonctionne bien jusqu'à présent, mais je suis curieux de savoir pourquoi PagingToolbar n'a pas une option pour utiliser le parent Grille magasin?Ext JS comment dire à PagingToolbar d'utiliser le stockage Grid parent?
J'ai essayé de mettre en magasin dans ma config comme ça, mais sans succès:
{...
store:Ext.StoreMgr.lookup('unique_store_id')
}
Est-il possible de le faire sans écrire des tonnes de javascript pour chaque vue de définir magasin, grille et d'autres articles en mon application ou au moins étendre les fonctionnalités de PaginationToolbar qui utilisent des options de l'objet parent?
MISE À JOUR, Voici court exemple de réponse du serveur (minified)
{
"xtype":"viewport",
"layout":"border",
"renderTo":Ext.getBody(),
"autoShow":true,
"id":"mainFrame",
"defaults":{"split":true,"useSplitTips":true},
"items":[
{"region":"center",
"xtype":"panel",
"layout":"fit",
"id":"content-area",
"items":{
"id":"manager-panel",
"region":"center",
"xtype":"tabpanel",
"activeItem":0,
"items":[
{
"xtype":"grid",
"id":"domain-grid",
"title":"Manage Domains",
"store":{
"xtype":"arraystore",
"id":"domain-store",
"fields":[...],
"autoLoad":{"params":{"controller":"domain","view":"store"}},
"url":"index.php"
},
"tbar":[...],
"bbar":{
"xtype":"paging",
"id":"domain-paging-toolbar",
"store":Ext.StoreMgr.lookup('domain-store')
},
"columns":[...],
"selModel":new Ext.grid.RowSelectionModel({singleSelect:true}),
"stripeRows":true,
"height":350,
"loadMask":true,
"listeners":{
"cellclick":activateDisabledButtons
}
}
]
},
}
]
}
Merci Owlness pour votre exemple, il pourrait aussi être une solution pour mon application. Est-il possible que je puisse écraser la configuration de la grille par défaut pour ajouter une validation supplémentaire pour la barre d'outils inférieure. – Nazariy
Juste eu le plus grand DOH !!! moment. Je n'ai pas réalisé que vous pouvez mettre 'constructor' en tant que fonction dans l'objet passé à' Ext.extend'. Mais bien sûr, cela a du sens - le constructeur est juste une fonction sur le prototype et c'est là que toutes ces fonctions vont. Pendant tout ce temps, j'ai défini le constructeur comme une fonction et l'ai ensuite étendu. De cette façon, le code est beaucoup plus propre. –
Quel type de validation supplémentaire demandez-vous, Nazariy? Toute manipulation que vous pourriez faire sur l'objet de configuration peut être effectuée dans le constructeur de l'exemple ci-dessus. Des modifications plus avancées peuvent également être appliquées en remplaçant d'autres méthodes ou en ajoutant des écouteurs d'événements. – owlness