J'utilise un editorgrid
pour modifier des éléments à partir d'un JsonStore
. Le JsonStore
utilise un HttpProxy
pour mettre à jour la base de données principale.ExtJS - Valeurs de date de publication en tant qu'un timestamp Unix
Mon problème est que l'API back-end attend fromTs
et toTs
pour être timestamp unix, mais quand un enregistrement est mis à jour, le poste http résultant contient une date formatée comme celui-ci: Wed Oct 20 00:00:00 UTC+0200 2010
J'ai cherché la documentation de l'API pour un paramètre pour contrôler le format du message, mais je n'ai rien trouvé. Y a-t-il un moyen simple de le faire?
myJsonStore = new Ext.data.JsonStore({
autoLoad: true,
autoSave: true,
proxy: new Ext.data.HttpProxy({
api: {
create: '/create/',
read: '/read/',
update: '/update/',
destroy:'/destroy/'
}
}),
writer: new Ext.data.JsonWriter({
encode: true,
writeAllFields: true
}),
idProperty: 'id',
fields: [
{name: 'id', type: 'int'},
{name: 'fromTs', type: 'date', dateFormat:'timestamp'},
{name: 'toTs', type: 'date', dateFormat:'timestamp'}
]
});
Le editorgrid
est configuré comme ceci:
{
xtype: 'editorgrid',
clicksToEdit: 1,
columns: [
{header: "Id", dataIndex: 'id', editable: false},
{header: "From", dataIndex: 'fromTs', editor: new Ext.form.DateField({format: 'd.m.Y', startDay: 1}), xtype: 'datecolumn', format: 'd.m.Y'},
{header: "To", dataIndex: 'toTs', editor: new Ext.form.DateField({format: 'd.m.Y', startDay: 1}), xtype: 'datecolumn', format: 'd.m.Y'}
],
store: myJsonStore
}
Malheureusement, cela ne fonctionne pas. Il semble que les champs de date utilisent ce format de date pour le stockage interne indépendamment des paramètres de format. Lorsque je définis la valeur à un horodatage, le champ de date résoudra cette date non valide. Le message json contiendra toujours le format de date indésirable. '{" id ":" 6 "," fromTs ":" 2010-10-12T00: 00: 00 "," toTs ":" NaN-NaN-NaNTNaN: NaN: NaN "}' –
Votre seule option dans ce cas pourrait être alors de remplacer une partie du comportement dans 'doResponse()' et de créer le POST avec vos propres paramètres, formatés. –