Ich muss eine API verbrauchen, die das gleiche Feld in Datensätzen in der gleichen Anordnung in zwei möglichen Datumsformate mir stellt:Ext.data.field.Date - alternatives Format
- Diejenigen, wo die zweite Null ist in Ymd H kommen: i
- Diejenigen formatieren, wo der zweite nicht Null wird kommen in Ymd H ist: i: s-Format
Eg
[{"date":"2016-12-16 09:52"},{"date":"2016-12-16 09:52:02"}]
Ein ExtJS-Speicher muss solche API konsumieren. Die Felddefinition:
fields:[{
name:'date',
type:'date',
dateFormat:'Y-m-d H:i:s'
altFormats:'Y-m-d H:i' // <- how can I define this in an `Ext.data.field.Date`?
}]
Ich weiß, es ist eine convert
Funktion, in der ich etwas Chaos wie dieses schreiben kann:
convert:function(value)
if(Ext.isDate(value)) return value;
var valueWithSecond = Ext.Date.parse(value,"Y-m-d H:i:s");
if(Ext.isDate(valueWithSecond)) return valueWithSecond;
var valueWithoutSecond = Ext.Date.parse(value,"Y-m-d H:i");
if(Ext.isDate(valueWithoutSecond)) return valueWithoutSecond;
}
Wie leicht zu sehen ist, würde die Felddefinition weit mehr lesbar . Ist eine solche Felddefinition verfügbar?